[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] apic-v reduce network performance in my test case



On Thu, Feb 05, 2015 at 11:04:37AM +0800, Liuqiming (John) wrote:
> On 2015/2/5 10:57, Liuqiming (John) wrote:
> >sorry for late replay
> >
> >On 2015/2/3 23:32, Konrad Rzeszutek Wilk wrote:
> >> On Tue, Feb 03, 2015 at 10:24:08AM +0800, Liuqiming (John) wrote:
> >> > On 2015/2/2 22:59, Konrad Rzeszutek Wilk wrote:
> >> >> On Mon, Feb 02, 2015 at 09:58:57PM +0800, Liuqiming (John) wrote:
> >> >>> Hi Jan,
> >> >>> Thanks for the reply.
> >> >>>
> >> >>> On 2015/2/2 18:12, Jan Beulich wrote:
> >> >>>>>>> On 31.01.15 at 11:29, <john.liuqiming@xxxxxxxxxx> wrote:
> >> >>>>>         Recently I met an odd performance problem: when I turn
> >> on APIC
> >> >>>>> Virtualization feature (apicv=1), the network performance of a
> >> windows
> >> >>>>> guest become worse.
> >> >>>>>
> >> >>>>>         My test case like this: host only have one windows 2008
> >> R2 HVM
> >> >>>>> guest running,and this guest has a SR-IOV VF network passthrough
> >> to it.
> >> >>>>> Guest using this network access a NAS device. No fontend or
> >> backend of
> >> >>>>> network and storage, all data transfered through network.
> >> >>>>>
> >> >>>>>         The xentrace data shows: the mainly difference between
> >> apicv and
> >> >>>>> non-apicv, is the way guest write apic registers, and
> >> >>>>> EXIT_REASON_MSR_WRITE vmexit cost much more time than
> >> >>>>> EXIT_REASON_APIC_WRITE, but when using WRMSR, the PAUSE vmexit
> >> is much
> >> >>>>> less than using APIC-v.
> >> >>>>
> >> >>>> There being heavier use of the pause VMEXIT doesn't by itself say
> >> >>>> anything, I'm afraid. It may suggest that you have a C-state exit
> >> >>>> latency problem - try lowering the maximum C-state allowed, or
> >> >>>> disabling use of C-states altogether.
> >> >>> Sorry, I forgot to mention  my test scenario:
> >> >>> Its a video test suite,I am not sure what the logic inside the
> >> tools exactly (not opensource tool).
> >> >>> The basic flow is:
> >> >>>        1) test suite start several thread to read video file from
> >> disk (from NAS through network in my case)
> >> >>>        2) decode these video data as a frame one by one
> >> >>>        3) if  any frame delay more than 40ms, then mark as lost
> >> >>>
> >> >>> test result:
> >> >>>          apicv=1,  there can be 15 thread running at the same time
> >> without lost frame
> >> >>>          apicv=0,  there can be 22 thread running at the same time
> >> without lost frame
> >> >>>
> >> >>> so when I'm saying apicv reduce the performance, I got the
> >> conclusion from the test result not from what xentrace shows.
> >> >>>>
> >> >>>>> In commit 7f2e992b824ec62a2818e64390ac2ccfbd74e6b7
> >> >>>>> "VMX/Viridian: suppress MSR-based APIC suggestion when having
> >> APIC-V",
> >> >>>>> msr based apic is disabled when apic-v is on, I wonder can they
> >> co-exist
> >> >>>>> in some way? seems for windows guest msr-based apic has better
> >> performance.
> >> >>>>
> >> >>>> The whole purpose is to avoid the costly MSR access exits. Why
> >> >>>> would you want to reintroduce that overhead?
> >> >>>>
> >> >>>> Jan
> >> >>>>
> >> >>> I agree to avoid the MSR access vmexit by using apicv, I just do
> >> not know what's the side effect.
> >> >>> Because from the test result,  apicv replacing  msr-based access
> >> brings performance reduction.
> >> >>
> >> >> It sounds like it brings latency disruption, not neccessarily
> >> performance reduction.
> >> >>
> >> >> What happens if you run with the cpufreq turned to performance, or
> >> as Jan suggested -
> >> >> with disabling C-states?
> >> >>
> >> > I have tried disable C-states in BIOS, the test result is still the
> >> same.
> >> > There is no frontend-backend device in my test, dom0 is not
> >> involved, so you mean cpufreq in DomU, right?
> >>
> >> I meant on Xen (cpufreq=performance). But if you disable C-states then
> >> that should
> >> not matter.
> >>
> >> > I have no idea how to change cpufreq of a windows os but I will
> >> figure out and try.
> >>
> >> That should not be needed.
> >>
> >> But back to your problem. When you say you have 'frame delay' - is it
> >> because
> >> of the NAS storage not getting the I/Os fast enough?
> >>
> >The  NAS storage should not be the bottleneck, it's a ramdisk connected
> >with 10G network card.
> >Besides, I'am using the same test environment, the only difference is
> >whether apicv=1 or not.
> >
> >> What are you using as network device? Is it an SR-IOV device or an
> >> emulated
> >> device (e1000, ne2k, rtl81..?)?
> >The vm using Intel Corporation 82599 Ethernet Controller Virtual
> >Function passthrough network and has the corresponding driver installed.
> >> >>
> >> >>> _______________________________________________
> >> >>> Xen-devel mailing list
> >> >>> Xen-devel@xxxxxxxxxxxxx
> >> >>> http://lists.xen.org/xen-devel
> >> >>
> >> >> .
> >> >>
> >> >
> >When  tracing the performance problem, I found whether apicv is on
> >change the result.
> >And after investigating the code, turns out CPUID4A_MSR_BASED_APIC
> >presents or not is the key factor.

Ah, willing to send out a patch for that?
> >
> >
> >
> >
> sorry, forget cc the list
> 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.