From patchwork Mon Sep 6 20:48:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Ma, WenwuX" X-Patchwork-Id: 98070 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 EB4BDA0C4D; Mon, 6 Sep 2021 10:56:12 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5E18840E32; Mon, 6 Sep 2021 10:56:11 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id B7C9140C35 for ; Mon, 6 Sep 2021 10:56:09 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10098"; a="199453732" X-IronPort-AV: E=Sophos;i="5.85,271,1624345200"; d="scan'208";a="199453732" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2021 01:56:08 -0700 X-IronPort-AV: E=Sophos;i="5.85,271,1624345200"; d="scan'208";a="536671230" Received: from unknown (HELO localhost.localdomain) ([10.240.183.109]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Sep 2021 01:56:06 -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: Mon, 6 Sep 2021 20:48:33 +0000 Message-Id: <20210906204837.112466-1-wenwux.ma@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 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. note: PATCH 2/4 depends on vhost patch from Jiayu Hu (http://patches.dpdk.org/project/dpdk/patch/1629463466-450012-1-git-send-email-jiayu.hu@intel.com/) 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/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 | 36 +- lib/vhost/version.map | 3 + lib/vhost/vhost.h | 3 +- lib/vhost/virtio_net.c | 531 ++++++++++++++++++++++++++++ 11 files changed, 881 insertions(+), 121 deletions(-) Tested-by: Yvonne Yang