From patchwork Thu May 30 09:07:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiaolong Ye X-Patchwork-Id: 53891 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 93DC52B9A; Thu, 30 May 2019 11:15:54 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id B8B8FA3 for ; Thu, 30 May 2019 11:15:52 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 30 May 2019 02:15:51 -0700 X-ExtLoop1: 1 Received: from yexl-server.sh.intel.com (HELO NPG-DPDK-XDP-yexl-server.sh.intel.com) ([10.67.110.206]) by fmsmga004.fm.intel.com with ESMTP; 30 May 2019 02:15:50 -0700 From: Xiaolong Ye To: Cc: Qi Zhang , Karlsson Magnus , Topel Bjorn , dev@dpdk.org, Xiaolong Ye Date: Thu, 30 May 2019 17:07:04 +0800 Message-Id: <20190530090707.36290-1-xiaolong.ye@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190515083842.15116-1-xiaolong.ye@intel.com> References: <20190515083842.15116-1-xiaolong.ye@intel.com> Subject: [dpdk-dev] [PATCH v2 0/3] add more features for AF_XDP pmd X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" This patch series mainly includes 3 new features for AF_XDP pmd. They are separated independent features, the reason I take them in one patchset is that they have code dependency. 1. zero copy This patch enables `zero copy` between af_xdp umem and mbuf by using external mbuf mechanism. 2. multi-queue With mutli-queue support, one AF_XDP pmd instance can use multi netdev queues. 3. busy-poll With busy-poll, all processing occurs on a single core, performance is better from a per-core perspective. This patch has dependency on busy-poll support in kernel side and now it is in RFC stage [1]. [1] https://www.spinics.net/lists/netdev/msg568337.html V2 changes: 1. improve mutli-queue support by getting the ethtool channel, so the driver is able to get a reason maximum queue number. 2. add a tiny cleanup patch to get rid of unused struct member 3. remove the busy-poll patch as its kernel counterpart changes, will update the patch later Xiaolong Ye (3): net/af_xdp: enable zero copy by extbuf net/af_xdp: add multi-queue support net/af_xdp: remove unused struct member doc/guides/nics/af_xdp.rst | 4 +- drivers/net/af_xdp/rte_eth_af_xdp.c | 285 ++++++++++++++++++++-------- 2 files changed, 213 insertions(+), 76 deletions(-)