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 D25061B6BB for ; Tue, 6 Feb 2018 07:20:18 +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 EF7AE8046E; Tue, 6 Feb 2018 06:20:17 +0000 (UTC) Received: from [10.72.12.119] (ovpn-12-119.pek2.redhat.com [10.72.12.119]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A8BD55D6A8; Tue, 6 Feb 2018 06:20:04 +0000 (UTC) To: Jens Freimann , dev@dpdk.org Cc: tiwei.bie@intel.com, yliu@fridaylinux.org, maxime.coquelin@redhat.com, mst@redhat.com, Wei Xu References: <20180129141143.13437-1-jfreimann@redhat.com> From: Jason Wang Message-ID: <6cfdc95c-82a2-45d8-76ca-7961d5a76a61@redhat.com> Date: Tue, 6 Feb 2018 14:20:02 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <20180129141143.13437-1-jfreimann@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US 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.28]); Tue, 06 Feb 2018 06:20:18 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH 00/14] implement packed virtqueues 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: Tue, 06 Feb 2018 06:20:19 -0000 On 2018年01月29日 22:11, Jens Freimann wrote: > This is a basic implementation of packed virtqueues as specified in the > Virtio 1.1 draft. A compiled version of the current draft is available > at https://github.com/oasis-tcs/virtio-docs.git (or as .pdf at > https://github.com/oasis-tcs/virtio-docs/blob/master/virtio-v1.1-packed-wd07.pdf > > It does not implement yet indirect descriptors and checksum offloading. > VIRTIO_F_IN_ORER is not implemented, as well as support for mergeable buffers > with packed queues. Patches for this will follow soon. > > A packed virtqueue is different from a split virtqueue in that it > consists of only a single descriptor ring that replaces available and > used ring, index and descriptor buffer. > > Each descriptor is readable and writable and has a flags field. These flags > will mark if a descriptor is available or used. To detect new available descriptors > even after the ring has wrapped, device and driver each have a > single-bit wrap counter that is flipped from 0 to 1 and vice versa every time > the last descriptor in the ring is used/made available. > > The idea behind this is to 1. improve performance by avoiding cache misses > and 2. be easier for devices to implement. > > Regarding performance: with these patches I get 21.13 Mpps on my system > as compared to 18.8 Mpps with the virtio 1.0 code. Packet size was 64 > bytes, 0.05% acceptable loss. Test setup is described as in > http://dpdk.org/doc/guides/howto/pvp_reference_benchmark.html > > Packet generator: > MoonGen > Intel(R) Xeon(R) CPU E5-2665 0 @ 2.40GHz > Intel X710 NIC > RHEL 7.4 > > Device under test: > Intel(R) Xeon(R) CPU E5-2667 v4 @ 3.20GHz > Intel X710 NIC > RHEL 7.4 > > VM on DuT: RHEL7.4 > > I plan to do more performance test with bigger frame sizes. > > This patch series is based on a prototype implemented by Yuanhan Liu and > Tiwei Bie. > > Hi Jens: May I ask how do you test the patch? I believe you need some basic packed ring support in both qemu and vhost-user protocol. Thanks