[v8,0/2] vhost: introduce DMA vchannel unconfiguration
Message ID | 20221025082540.100618-1-xuan.ding@intel.com (mailing list archive) |
---|---|
Headers |
Return-Path: <dev-bounces@dpdk.org> 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 D0127A0543; Tue, 25 Oct 2022 10:29:24 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A275840A89; Tue, 25 Oct 2022 10:29:24 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id A4EFD400D5 for <dev@dpdk.org>; Tue, 25 Oct 2022 10:29:23 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1666686563; x=1698222563; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=31RKeL4RADOV6ihpdzNh0kbcxI4Q1aemyf4ZMPPIQLY=; b=lmnRIqcXsTDRhkNGHFPv5Ci0vgk67lu/TAEX9gJBenFWpI2clw3sYq71 zw1VZ9AMrdJx8tT3sIoCEMIQZNQXxh3IYHQ4Cs8RD+6Whv2TNd6VJZg6E b2loI3aQN1ZwdCYZa/b8by9cQtEOaf79tevM0f5SKMPT/z+GGuSuXQ7Vu 288YnXtApNkXwLcpeasj39cMfcnKswBIB++lQf/EBTU3oGS0uwYI9IFWs LzBX/4pNKnY7c0zDKPThQfTjxGNqMhWg1tzOMoUbjMrNkM/TvPUdNXBny uSnFOXT2RiUBEtjzorEpAN5t7h0I6gajfp8Ir7BKYTacREPbZ3BXcTyFV g==; X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="305234243" X-IronPort-AV: E=Sophos;i="5.95,211,1661842800"; d="scan'208";a="305234243" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Oct 2022 01:29:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10510"; a="664833314" X-IronPort-AV: E=Sophos;i="5.95,211,1661842800"; d="scan'208";a="664833314" Received: from npg-dpdk-xuan-cbdma.sh.intel.com ([10.67.111.102]) by orsmga001.jf.intel.com with ESMTP; 25 Oct 2022 01:29:19 -0700 From: xuan.ding@intel.com To: maxime.coquelin@redhat.com, chenbo.xia@intel.com Cc: dev@dpdk.org, jiayu.hu@intel.com, xingguang.he@intel.com, weix.ling@intel.com, cheng1.jiang@intel.com, yuanx.wang@intel.com, wenwux.ma@intel.com, Xuan Ding <xuan.ding@intel.com> Subject: [PATCH v8 0/2] vhost: introduce DMA vchannel unconfiguration Date: Tue, 25 Oct 2022 08:25:38 +0000 Message-Id: <20221025082540.100618-1-xuan.ding@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220814140442.82525-1-xuan.ding@intel.com> References: <20220814140442.82525-1-xuan.ding@intel.com> X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org |
Message
Ding, Xuan
Oct. 25, 2022, 8:25 a.m. UTC
From: Xuan Ding <xuan.ding@intel.com>
This patchset introduces a new API rte_vhost_async_dma_unconfigure()
to help user to manually free DMA vChannels finished to use.
v8:
* Check inflight packets release virtual channel.
v7:
* Add inflight packets processing.
* Fix CI error.
v6:
* Move DMA unconfiguration to the end due to DMA devices maybe reused
after destroy_device().
* Refine the doc to claim the DMA device should not be used in vhost
after unconfiguration.
v5:
* Use mutex instead of spinlock.
* Improve code readability.
v4:
* Rebase to 22.11 rc1.
* Fix the usage of 'dma_ref_count' to make sure the specified DMA device
is not used by any vhost ports before unconfiguration.
v3:
* Rebase to latest DPDK.
* Refine some descriptions in the doc.
* Fix one bug in the vhost example.
v2:
* Add spinlock protection.
* Fix a memory leak issue.
* Refine the doc.
Xuan Ding (2):
vhost: introduce DMA vchannel unconfiguration
examples/vhost: unconfigure DMA vchannel
doc/guides/prog_guide/vhost_lib.rst | 5 ++
doc/guides/rel_notes/release_22_11.rst | 5 ++
examples/vhost/main.c | 8 +++
lib/vhost/rte_vhost_async.h | 20 +++++++
lib/vhost/version.map | 3 ++
lib/vhost/vhost.c | 72 ++++++++++++++++++++++++--
6 files changed, 108 insertions(+), 5 deletions(-)