From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxime Coquelin Subject: Re: [PATCH v4] vhost: Add indirect descriptors support to the TX path Date: Mon, 17 Oct 2016 13:23:23 +0200 Message-ID: References: <1474619303-16709-1-git-send-email-maxime.coquelin@redhat.com> <1474965769-24782-1-git-send-email-maxime.coquelin@redhat.com> <8F6C2BD409508844A0EFC19955BE09414E7CE6D1@SHSMSX103.ccr.corp.intel.com> <70cc3b89-d680-1519-add3-f38b228e65b5@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: "vkaplans@redhat.com" , "mst@redhat.com" , "stephen@networkplumber.org" To: "Wang, Zhihong" , "yuanhan.liu@linux.intel.com" , "Xie, Huawei" , "dev@dpdk.org" Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by dpdk.org (Postfix) with ESMTP id 17F7319F5 for ; Mon, 17 Oct 2016 13:23:27 +0200 (CEST) In-Reply-To: <70cc3b89-d680-1519-add3-f38b228e65b5@redhat.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 10/14/2016 05:50 PM, Maxime Coquelin wrote: > > > On 10/14/2016 09:24 AM, Wang, Zhihong wrote: >> >> >>> -----Original Message----- >>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Maxime Coquelin >>> Sent: Tuesday, September 27, 2016 4:43 PM >>> To: yuanhan.liu@linux.intel.com; Xie, Huawei ; >>> dev@dpdk.org >>> Cc: vkaplans@redhat.com; mst@redhat.com; >>> stephen@networkplumber.org; Maxime Coquelin >>> >>> Subject: [dpdk-dev] [PATCH v4] vhost: Add indirect descriptors >>> support to >>> the TX path >>> >>> Indirect descriptors are usually supported by virtio-net devices, >>> allowing to dispatch a larger number of requests. >>> >>> When the virtio device sends a packet using indirect descriptors, >>> only one slot is used in the ring, even for large packets. >>> >>> The main effect is to improve the 0% packet loss benchmark. >>> A PVP benchmark using Moongen (64 bytes) on the TE, and testpmd >>> (fwd io for host, macswap for VM) on DUT shows a +50% gain for >>> zero loss. >>> >>> On the downside, micro-benchmark using testpmd txonly in VM and >>> rxonly on host shows a loss between 1 and 4%.i But depending on >>> the needs, feature can be disabled at VM boot time by passing >>> indirect_desc=off argument to vhost-user device in Qemu. >>> >>> Signed-off-by: Maxime Coquelin >> >> >> Hi Maxime, >> >> Seems this patch can't with Windows virtio guest in my test. >> Have you done similar tests before? >> >> The way I test: >> >> 1. Make sure https://patchwork.codeaurora.org/patch/84339/ is applied >> >> 2. Start testpmd with iofwd between 2 vhost ports >> >> 3. Start 2 Windows guests connected to the 2 vhost ports >> >> 4. Disable firewall and assign IP to each guest using ipconfig >> >> 5. Use ping to test connectivity >> >> When I disable this patch by setting: >> >> 0ULL << VIRTIO_RING_F_INDIRECT_DESC, >> >> the connection is fine, but when I restore: >> >> 1ULL << VIRTIO_RING_F_INDIRECT_DESC, >> >> the connection is broken. > > Just noticed I didn't reply to all this morning. > I sent a debug patch to Zhihong, which shows that indirect desc chaining > looks OK. > > On my side, I just setup 2 Windows 2016 VMs, and confirm the issue. > I'll continue the investigation early next week. The root cause is identified. When INDIRECT_DESC feature is negotiated, Windows guest uses indirect for both Tx and Rx descriptors, whereas Linux guests (Virtio PMD & virtio-net kernel driver) use indirect only for Tx. I'll implement indirect support for the Rx path in vhost lib, but the change will be too big for -rc release. I propose in the mean time to disable INDIRECT_DESC feature in vhost lib, we can still enable it locally for testing. Yuanhan, is it ok for you? > Has anyone already tested Windows guest with vhost-net, which also has > indirect descs support? I tested and confirm it works with vhost-net. Regards, Maxime