From patchwork Wed Apr 14 06:13:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jiang, Cheng1" X-Patchwork-Id: 91401 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 4A1E8A0524; Wed, 14 Apr 2021 08:26:58 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 33FC61616D1; Wed, 14 Apr 2021 08:26:58 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id CB5051616B1 for ; Wed, 14 Apr 2021 08:26:56 +0200 (CEST) IronPort-SDR: RZJbQr1ZuX+iO1tSNigFrnRrHXFNX1oiGN54jRTpp+WGkoxn7C+t067c8/+DESH5opcncXdrkg h/oQ7LmfR5FQ== X-IronPort-AV: E=McAfee;i="6200,9189,9953"; a="258543406" X-IronPort-AV: E=Sophos;i="5.82,221,1613462400"; d="scan'208";a="258543406" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Apr 2021 23:26:55 -0700 IronPort-SDR: EITdey42sqWkY2pPa2D9XlpHTBaLiD31E61ScsRjl2Pw3dKDOvGmGHSyT+6lPbaiZPWM1zIajk /dZ37u/lrijw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,221,1613462400"; d="scan'208";a="424588412" Received: from dpdk_jiangcheng.sh.intel.com ([10.67.119.112]) by orsmga008.jf.intel.com with ESMTP; 13 Apr 2021 23:26:52 -0700 From: Cheng Jiang To: maxime.coquelin@redhat.com, chenbo.xia@intel.com Cc: dev@dpdk.org, jiayu.hu@intel.com, yvonnex.yang@intel.com, yinan.wang@intel.com, yong.liu@intel.com, Cheng Jiang Date: Wed, 14 Apr 2021 06:13:39 +0000 Message-Id: <20210414061343.54919-1-Cheng1.jiang@intel.com> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210317085426.10119-1-Cheng1.jiang@intel.com> References: <20210317085426.10119-1-Cheng1.jiang@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v7 0/4] add support for packed ring in async vhost 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" For now async vhost data path only supports split ring structure. In order to make async vhost compatible with virtio 1.1 spec this patch set cleans async split ring codes and enables packed ring in async vhost data path. Batch datapath is also enabled in async vhost packed ring. v7: * fix compile issues * add argument *dev in vhost_free_async_mem() for ring type decision v6: * fix some typos in commit log * improve index usage * remove shadow_ring_store() * add store_dma_desc_info_split() store_dma_desc_info_packed() * remove some checks in vhost_free_async_mem() * change index calculation since the size isn't necessarily a power of 2 * move error handling in a dedicated function * clean codes v5: * clean some codes for packed ring datapath * fix an index error in shadow_ring_store() v4: * change the patch structure * clean code for async split ring * reuse some code from split ring * change the error handler for DMA-copy packet * add check for malloc * remove useless code * add doc update v3: * fix error handler for DMA-copy packet v2: * fix wrong buffer index in rte_vhost_poll_enqueue_completed() * add async_buffers_packed memory free in vhost_free_async_mem() Cheng Jiang (4): vhost: abstract and reorganize async split ring code vhost: add support for packed ring in async vhost vhost: add batch datapath for async vhost packed ring doc: add release note for vhost async packed ring doc/guides/rel_notes/release_21_05.rst | 4 + lib/librte_vhost/rte_vhost_async.h | 1 + lib/librte_vhost/vhost.c | 49 +- lib/librte_vhost/vhost.h | 15 +- lib/librte_vhost/virtio_net.c | 593 +++++++++++++++++++++---- 5 files changed, 557 insertions(+), 105 deletions(-) --- 2.29.2