From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 765575686 for ; Thu, 27 Oct 2016 12:20:04 +0200 (CEST) Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP; 27 Oct 2016 03:20:04 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.31,404,1473145200"; d="scan'208";a="24249956" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga006.fm.intel.com with ESMTP; 27 Oct 2016 03:20:03 -0700 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 27 Oct 2016 03:20:02 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 27 Oct 2016 03:20:02 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.139]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.2]) with mapi id 14.03.0248.002; Thu, 27 Oct 2016 18:20:00 +0800 From: "Wang, Zhihong" To: Maxime Coquelin , Yuanhan Liu , "stephen@networkplumber.org" , "Pierre Pfister (ppfister)" Thread-Topic: [dpdk-dev] [PATCH v4] vhost: Add indirect descriptors support to the TX path Thread-Index: AQHSJjLIgzIjeGrkS0+qEKh9oEoL36Cr/zyAgAAg9YCAAA7sgIAP4USA//+BDwCAAAxwgIAAi4bQ Date: Thu, 27 Oct 2016 10:19:59 +0000 Message-ID: <8F6C2BD409508844A0EFC19955BE09414E7D8C3B@SHSMSX103.ccr.corp.intel.com> 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> <20161017132121.GG16751@yliu-dev.sh.intel.com> <8F6C2BD409508844A0EFC19955BE09414E7D8BDF@SHSMSX103.ccr.corp.intel.com> <7a987be6-feec-0639-211a-462cf2b44514@redhat.com> In-Reply-To: <7a987be6-feec-0639-211a-462cf2b44514@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Cc: "dev@dpdk.org" , "vkaplans@redhat.com" , "mst@redhat.com" 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: Thu, 27 Oct 2016 10:20:05 -0000 > -----Original Message----- > From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com] > Sent: Thursday, October 27, 2016 5:55 PM > To: Wang, Zhihong ; Yuanhan Liu > ; stephen@networkplumber.org; Pierre > Pfister (ppfister) > Cc: Xie, Huawei ; dev@dpdk.org; > vkaplans@redhat.com; mst@redhat.com > Subject: Re: [dpdk-dev] [PATCH v4] vhost: Add indirect descriptors suppor= t > to the TX path >=20 >=20 >=20 > On 10/27/2016 11:10 AM, Maxime Coquelin wrote: > > Hi Zhihong, > > > > On 10/27/2016 11:00 AM, Wang, Zhihong wrote: > >> Hi Maxime, > >> > >> Seems indirect desc feature is causing serious performance > >> degradation on Haswell platform, about 20% drop for both > >> mrg=3Don and mrg=3Doff (--txqflags=3D0xf00, non-vector version), > >> both iofwd and macfwd. > > I tested PVP (with macswap on guest) and Txonly/Rxonly on an Ivy Bridge > > platform, and didn't faced such a drop. > > Have you tried to pass indirect_desc=3Doff to qemu cmdline to see if yo= u > > recover the performance? > > > > Yuanhan, which platform did you use when you tested it with zero copy? > > > >> > >> I'm using RC2, and the CPU is Xeon E5-2699 v3 @ 2.30GHz. > >> > >> Could you please verify if this is true in your test? > > I'll try -rc1/-rc2 on my platform, and let you know. > As a first test, I tried again Txonly from the guest to the host (Rxonly)= , > where Tx indirect descriptors are used, on my E5-2665 @2.40GHz: > v16.11-rc1: 10.81Mpps > v16.11-rc2: 10.91Mpps >=20 > -rc2 is even slightly better in my case. > Could you please run the same test on your platform? I mean to use rc2 as both host and guest, and compare the perf between indirect=3D0 and indirect=3D1. I use PVP traffic, tried both testpmd and OvS as the forwarding engine in host, and testpmd in guest. Thanks Zhihong >=20 > And could you provide me more info on your fwd bench? > Do you use dpdk-pktgen on host, or you do fwd on howt with a real NIC > also? >=20 > Thanks, > Maxime > > Thanks, > > Maxime > > > >> > >> > >> Thanks > >> Zhihong > >> > >>> -----Original Message----- > >>> From: Maxime Coquelin [mailto:maxime.coquelin@redhat.com] > >>> Sent: Monday, October 17, 2016 10:15 PM > >>> To: Yuanhan Liu > >>> Cc: Wang, Zhihong ; Xie, Huawei > >>> ; dev@dpdk.org; vkaplans@redhat.com; > >>> mst@redhat.com; stephen@networkplumber.org > >>> Subject: Re: [dpdk-dev] [PATCH v4] vhost: Add indirect descriptors > >>> support > >>> to the TX path > >>> > >>> > >>> > >>> On 10/17/2016 03:21 PM, Yuanhan Liu wrote: > >>>> On Mon, Oct 17, 2016 at 01:23:23PM +0200, Maxime Coquelin wrote: > >>>>>> 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 t= he > >>>>> change will be too big for -rc release. > >>>>> I propose in the mean time to disable INDIRECT_DESC feature in vhos= t > >>>>> lib, we can still enable it locally for testing. > >>>>> > >>>>> Yuanhan, is it ok for you? > >>>> > >>>> That's okay. > >>> I'll send a patch to disable it then. > >>> > >>>> > >>>>> > >>>>>> Has anyone already tested Windows guest with vhost-net, which > also > >>> has > >>>>>> indirect descs support? > >>>>> > >>>>> I tested and confirm it works with vhost-net. > >>>> > >>>> I'm a bit confused then. IIRC, vhost-net also doesn't support indire= ct > >>>> for Rx path, right? > >>> > >>> No, it does support it actually. > >>> I thought it didn't support too, I misread the Kernel implementation = of > >>> vhost-net and virtio-net. Acutally, virtio-net makes use of indirect > >>> in Rx path when mergeable buffers is disabled. > >>> > >>> The confusion certainly comes from me, sorry about that. > >>> > >>> Maxime