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 17F7319F5 for ; Mon, 17 Oct 2016 13:23:27 +0200 (CEST) Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 862DC61E58; Mon, 17 Oct 2016 11:23:26 +0000 (UTC) Received: from [10.36.5.44] (vpn1-5-44.ams2.redhat.com [10.36.5.44]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u9HBNNEY024284 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 17 Oct 2016 07:23:24 -0400 To: "Wang, Zhihong" , "yuanhan.liu@linux.intel.com" , "Xie, Huawei" , "dev@dpdk.org" 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> Cc: "vkaplans@redhat.com" , "mst@redhat.com" , "stephen@networkplumber.org" From: Maxime Coquelin Message-ID: Date: Mon, 17 Oct 2016 13:23:23 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <70cc3b89-d680-1519-add3-f38b228e65b5@redhat.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Mon, 17 Oct 2016 11:23:26 +0000 (UTC) Subject: Re: [dpdk-dev] [PATCH v4] vhost: Add indirect descriptors support to the TX path 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, 17 Oct 2016 11:23:27 -0000 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