From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 1F1411B1E9 for ; Fri, 21 Dec 2018 10:20:44 +0100 (CET) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 6FE0637E66; Fri, 21 Dec 2018 09:20:43 +0000 (UTC) Received: from [10.36.112.53] (ovpn-112-53.ams2.redhat.com [10.36.112.53]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B006561527; Fri, 21 Dec 2018 09:20:38 +0000 (UTC) To: dev@dpdk.org, jfreimann@redhat.com, tiwei.bie@intel.com, zhihong.wang@intel.com References: <20181220172718.9615-1-maxime.coquelin@redhat.com> From: Maxime Coquelin Message-ID: <12beec6f-da7f-22dd-8e58-af40045f36fc@redhat.com> Date: Fri, 21 Dec 2018 10:20:36 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1 MIME-Version: 1.0 In-Reply-To: <20181220172718.9615-1-maxime.coquelin@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Fri, 21 Dec 2018 09:20:43 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH v3 0/3] net/virtio: Rx paths improvements X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Dec 2018 09:20:44 -0000 On 12/20/18 6:27 PM, Maxime Coquelin wrote: > First version of this series did merge out-of-order mergeable > and non-mergeable receive paths, but Intel STV team highlighted > some performance regression when using multiqueue with two cores > enqueueing descs on host, while a single core dequeues the > two queues. > > I didn't manage to close the performance gap, so I decided to > give-up this refactoring. But while trying to optimize, I reworked > the meargeable function so that it looks like the in-order one. > I.e. descriptors are now dequeued in batches, so are descriptors > refilled. Doing that, I measure a perfromance gain of 6% when doing > rxonly microbenchmark with two cores on host, one in guest. > > > Changes since v2: > - Rebase after Jens' packed ring series > - Break refill loop if VQ_RING_DESC_CHAIN_END (Tiwei) > - Fixup commit message > > Maxime Coquelin (3): > net/virtio: inline refill and offload helpers > net/virtio: add non-mergeable support to in-order path > net/virtio: improve batching in mergeable path > > drivers/net/virtio/virtio_ethdev.c | 14 +- > drivers/net/virtio/virtio_ethdev.h | 2 +- > drivers/net/virtio/virtio_rxtx.c | 257 ++++++++++++++++------------- > 3 files changed, 145 insertions(+), 128 deletions(-) > Applied to dpdk-next-virtio Maxime