From patchwork Tue Sep 28 18:56:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ma, WenwuX" X-Patchwork-Id: 99851 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DE944A0C46; Tue, 28 Sep 2021 09:04:31 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5DBA340E3C; Tue, 28 Sep 2021 09:04:31 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id C38DA40DF6 for ; Tue, 28 Sep 2021 09:04:29 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10120"; a="224700889" X-IronPort-AV: E=Sophos;i="5.85,328,1624345200"; d="scan'208";a="224700889" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2021 00:04:28 -0700 X-IronPort-AV: E=Sophos;i="5.85,328,1624345200"; d="scan'208";a="553820959" Received: from unknown (HELO localhost.localdomain) ([10.240.183.109]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Sep 2021 00:04:24 -0700 From: Wenwu Ma To: dev@dpdk.org Cc: maxime.coquelin@redhat.com, chenbo.xia@intel.com, cheng1.jiang@intel.com, jiayu.hu@intel.com, Sunil.Pai.G@intel.com, yvonnex.yang@intel.com, Wenwu Ma Date: Tue, 28 Sep 2021 18:56:37 +0000 Message-Id: <20210928185641.86601-1-wenwux.ma@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210906204837.112466-1-wenwux.ma@intel.com> References: <20210906204837.112466-1-wenwux.ma@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 0/4] support async dequeue for split ring X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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 implements asynchronous dequeue data path for split ring. A new asynchronous dequeue function is introduced. With this function, the application can try to receive packets from the guest with offloading copies to the DMA engine, thus saving precious CPU cycles. v3: - Update release note. - Update function comments. v2: - Removed struct async_nethdr in 1/4. - Removed a useless function declaration in 2/4, and fixed some coding style in 4/4. Wenwu Ma (3): examples/vhost: refactor vhost enqueue and dequeue datapaths examples/vhost: use a new API to query remaining ring space examples/vhost: support vhost async dequeue data path Yuan Wang (1): vhost: support async dequeue for split ring doc/guides/prog_guide/vhost_lib.rst | 9 + doc/guides/rel_notes/release_21_11.rst | 3 + doc/guides/sample_app_ug/vhost.rst | 9 +- examples/vhost/ioat.c | 67 +++- examples/vhost/ioat.h | 25 ++ examples/vhost/main.c | 269 ++++++++----- examples/vhost/main.h | 34 +- examples/vhost/virtio_net.c | 16 +- lib/vhost/rte_vhost_async.h | 34 +- lib/vhost/version.map | 3 + lib/vhost/vhost.h | 3 +- lib/vhost/virtio_net.c | 530 +++++++++++++++++++++++++ 12 files changed, 881 insertions(+), 121 deletions(-)