From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id A0DE38D9F for ; Mon, 28 Dec 2015 09:33:32 +0100 (CET) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP; 28 Dec 2015 00:33:31 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,490,1444719600"; d="scan'208";a="879714085" Received: from dpdk15.sh.intel.com ([10.239.129.25]) by orsmga002.jf.intel.com with ESMTP; 28 Dec 2015 00:33:28 -0800 From: Huawei Xie To: dev@dpdk.org Date: Mon, 28 Dec 2015 00:38:21 +0800 Message-Id: <1451234303-54212-1-git-send-email-huawei.xie@intel.com> X-Mailer: git-send-email 1.8.1.4 In-Reply-To: <1450049754-33635-1-git-send-email-huawei.xie@intel.com> References: <1450049754-33635-1-git-send-email-huawei.xie@intel.com> Cc: dprovan@bivio.net Subject: [dpdk-dev] [PATCH v5 0/2] provide rte_pktmbuf_alloc_bulk API and call it in vhost dequeue X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Dec 2015 08:33:33 -0000 v5 changes: add comment about duff's device and our variant implementation v4 changes: fix a silly typo in error handling when rte_pktmbuf_alloc fails v3 changes: move while after case 0 add context about duff's device and why we use while loop in the commit message v2 changes: unroll the loop in rte_pktmbuf_alloc_bulk to help the performance For symmetric rte_pktmbuf_free_bulk, if the app knows in its scenarios their mbufs are all simple mbufs, i.e meet the following requirements: * no multiple segments * not indirect mbuf * refcnt is 1 * belong to the same mbuf memory pool, it could directly call rte_mempool_put to free the bulk of mbufs, otherwise rte_pktmbuf_free_bulk has to call rte_pktmbuf_free to free the mbuf one by one. This patchset will not provide this symmetric implementation. Huawei Xie (2): mbuf: provide rte_pktmbuf_alloc_bulk API vhost: call rte_pktmbuf_alloc_bulk in vhost dequeue lib/librte_mbuf/rte_mbuf.h | 55 +++++++++++++++++++++++++++++++++++++++++++ lib/librte_vhost/vhost_rxtx.c | 35 +++++++++++++++++---------- 2 files changed, 77 insertions(+), 13 deletions(-) -- 1.8.1.4