From patchwork Wed Jan 5 16:53:40 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Finn, Emma" X-Patchwork-Id: 1575761 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: bilbo.ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=gCEhjrd1; dkim-atps=neutral Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.136; helo=smtp3.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by bilbo.ozlabs.org (Postfix) with ESMTPS id 4JTbDM23cwz9sSs for ; Thu, 6 Jan 2022 03:54:09 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 522A16FB64; Wed, 5 Jan 2022 16:54:07 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2wXbe4ZUF-KH; Wed, 5 Jan 2022 16:54:06 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp3.osuosl.org (Postfix) with ESMTPS id 8A6A860E29; Wed, 5 Jan 2022 16:54:05 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 6A4FBC002F; Wed, 5 Jan 2022 16:54:05 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138]) by lists.linuxfoundation.org (Postfix) with ESMTP id 6BF9BC001E for ; Wed, 5 Jan 2022 16:54:04 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp1.osuosl.org (Postfix) with ESMTP id 4CBCB82CF9 for ; Wed, 5 Jan 2022 16:54:04 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Authentication-Results: smtp1.osuosl.org (amavisd-new); dkim=pass (2048-bit key) header.d=intel.com Received: from smtp1.osuosl.org ([127.0.0.1]) by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id i8E1RfVEXMnS for ; Wed, 5 Jan 2022 16:54:00 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by smtp1.osuosl.org (Postfix) with ESMTPS id E133C82803 for ; Wed, 5 Jan 2022 16:54:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1641401640; x=1672937640; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=9K/eDE+iJYu4BYbrFs8dY8I5kZiG6RTB4o9ut+qFPiE=; b=gCEhjrd18Y1RZ3ktUFJ+BYykG/QAoOkjGkJ0MhmeSfh90B9HQA/8Bau7 ox3xexgFellTpGL/VCzgC4nO2Jtbshvh11lMRTtRbcKyB5m+/TcaEmePV tuwszfYMl0J2KZLLjmoH0psZ4oUgcW5OARyYR4wROybl1PVbl/7M0gmq0 G31cdvG8It8WUhED3IKspOv6zEaNxIfxyabJ4Gz5hUiZA+3xqVYLIBBiM mEDhTfCEC95Dud5C/ruSgCc7vt/CmgN0MFlYpp+qgclcyaBL/9Inn8Q4Q YPlepIiaYk2j/tHBZJEq/H7M7FHhD5aDv+RtYmdONiScLqbWXmXqq5Zek Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10217"; a="242688500" X-IronPort-AV: E=Sophos;i="5.88,264,1635231600"; d="scan'208";a="242688500" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Jan 2022 08:54:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.88,264,1635231600"; d="scan'208";a="611525731" Received: from silpixa00400899.ir.intel.com ([10.243.23.110]) by FMSMGA003.fm.intel.com with ESMTP; 05 Jan 2022 08:53:59 -0800 From: Emma Finn To: dev@openvswitch.org, harry.van.haaren@intel.com, kumar.amber@intel.com Date: Wed, 5 Jan 2022 16:53:40 +0000 Message-Id: <20220105165349.3447695-1-emma.finn@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20211203153301.37692-1-emma.finn@intel.com> References: <20211203153301.37692-1-emma.finn@intel.com> MIME-Version: 1.0 Subject: [ovs-dev] [PATCH v4 0/9] Actions Infrastructure + Optimizations X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" --- v4: - Rebase to master - Add ISA implementation of push_vlan action --- v3: - Refactored to fix unit test failures - Removed some sign-off on commits --- v2: - Fix the CI build issues --- This patchset introduces actions infrastructure changes which allows the user to choose between different action implementations based on CPU ISA by using different commands. The Infrastructure also provides a way to check the correctness of the ISA optimized action version against the scalar version. This patchset also introduces an optimized version of the push and pop vlan actions. Emma Finn (7): odp-execute: Add function pointers to odp-execute for different action implementations. odp-execute: Add function pointer for pop_vlan action. odp-execute: Add auto validation function for actions. odp-execute: Add command to switch action implementation. odp-execute: Add ISA implementation of actions. odp-execute: Add ISA implementation of pop_vlan action. odp-execute: Add ISA implementation of push_vlan action. Kumar Amber (2): pmd.at: Add test-cases for ovs-actions commands. dpif-netdev: Add configure option to enable actions autovalidator at build time. Documentation/topics/dpdk/bridge.rst | 25 +++ Documentation/topics/testing.rst | 20 ++- NEWS | 9 ++ acinclude.m4 | 17 ++ configure.ac | 1 + lib/automake.mk | 6 +- lib/cpu.c | 1 + lib/cpu.h | 1 + lib/dp-packet.c | 23 +++ lib/dp-packet.h | 5 + lib/dpif-netdev-unixctl.man | 6 + lib/dpif-netdev.c | 41 +++++ lib/odp-execute-avx512.c | 202 ++++++++++++++++++++++++ lib/odp-execute-private.c | 224 +++++++++++++++++++++++++++ lib/odp-execute-private.h | 110 +++++++++++++ lib/odp-execute.c | 108 ++++++++++--- lib/odp-execute.h | 9 ++ tests/pmd.at | 20 +++ 18 files changed, 800 insertions(+), 28 deletions(-) create mode 100644 lib/odp-execute-avx512.c create mode 100644 lib/odp-execute-private.c create mode 100644 lib/odp-execute-private.h