From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Coquelin Subject: [PATCH 0/2] Vhost: unitfy receive paths Date: Mon, 28 May 2018 18:23:36 +0200 Message-ID: <20180528162338.4511-1-maxime.coquelin@redhat.com> Cc: Maxime Coquelin To: dev@dpdk.org, tiwei.bie@intel.com, zhihong.wang@intel.com Return-path: Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by dpdk.org (Postfix) with ESMTP id 2A0D9200 for ; Mon, 28 May 2018 18:23:52 +0200 (CEST) List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi, This series is preliminary work to ease the integration of packed ring layout support. But even without packed ring layout, the result is positive. First patch unify both paths, and second one is a small optimization to avoid copying batch_copy_nb_elems VQ field to/from the stack. With the series applied, I get modest performance gain for both mergeable and non-mergeable casesi (, and the gain of about 300 LoC is non negligible maintenance-wise. Rx-mrg=off benchmarks: +------------+-------+-------------+-------------+----------+ | Run | PVP | Guest->Host | Host->Guest | Loopback | +------------+-------+-------------+-------------+----------+ | v18.05-rc5 | 14.47 | 16.64 | 17.57 | 13.15 | | + series | 14.87 | 16.86 | 17.70 | 13.30 | +------------+-------+-------------+-------------+----------+ Rx-mrg=on benchmarks: +------------+------+-------------+-------------+----------+ | Run | PVP | Guest->Host | Host->Guest | Loopback | +------------+------+-------------+-------------+----------+ | v18.05-rc5 | 9.38 | 13.78 | 16.70 | 12.79 | | + series | 9.38 | 13.80 | 17.49 | 13.36 | +------------+------+-------------+-------------+----------+ Note: Even without my series, the guest->host benchmark with mergeable buffers enabled looks suspicious as it should in theory be alsmost identical as when Rx mergeable buffers are disabled. To be investigated... Maxime Coquelin (2): vhost: unify Rx mergeable and non-mergeable paths vhost: improve batched copies performance lib/librte_vhost/virtio_net.c | 366 ++++-------------------------------------- 1 file changed, 32 insertions(+), 334 deletions(-) -- 2.14.3