On Thu, Oct 27, 2016 at 12:35:11PM +0200, Maxime Coquelin wrote: > > > On 10/27/2016 12:33 PM, Yuanhan Liu wrote: > >On Thu, Oct 27, 2016 at 11:10:34AM +0200, 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=on and mrg=off (--txqflags=0xf00, 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. > > > >I was actually wondering that may be the cause. I tested it with > >my IvyBridge server as well, I saw no drop. > > > >Maybe you should find a similar platform (Haswell) and have a try? > Yes, that's why I asked Zhihong whether he could test Txonly in guest to > see if issue is reproducible like this.
I have no Haswell box, otherwise I could do a quick test for you. IIRC, he tried to disable the indirect_desc feature, then the performance recovered. So, it's likely the indirect_desc is the culprit here. > I will be easier for me to find an Haswell machine if it has not to be > connected back to back to and HW/SW packet generator. Makes sense. --yliu > > Thanks, > Maxime > > > > > --yliu > > > >>Have you tried to pass indirect_desc=off to qemu cmdline to see if you > >>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. > >> > >>Thanks, > >>Maxime > >> > >>> > >>> > >>>Thanks > >>>Zhihong > >>> > >>>>-----Original Message----- > >>>>From: Maxime Coquelin [mailto:maxime.coquelin at redhat.com] > >>>>Sent: Monday, October 17, 2016 10:15 PM > >>>>To: Yuanhan Liu <yuanhan.liu at linux.intel.com> > >>>>Cc: Wang, Zhihong <zhihong.wang at intel.com>; Xie, Huawei > >>>><huawei.xie at intel.com>; dev at dpdk.org; vkaplans at redhat.com; > >>>>mst at redhat.com; stephen at 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 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? > >>>>> > >>>>>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 indirect > >>>>>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