* about vEOI optimization
@ 2011-08-23 8:09 Tian, Kevin
2011-08-24 10:00 ` Avi Kivity
0 siblings, 1 reply; 4+ messages in thread
From: Tian, Kevin @ 2011-08-23 8:09 UTC (permalink / raw)
To: kvm, 'Avi Kivity (avi@redhat.com)'; +Cc: Nakajima, Jun
Hi, Avi,
Both Eddie and Marcello once suggested vEOI optimization by skipping
heavy-weight instruction decode, which reduces vEOI overhead greatly:
http://www.mail-archive.com/kvm@vger.kernel.org/msg18619.html
http://www.spinics.net/lists/kvm/msg36691.html
Though virtual x2apic serves similar purpose, it depends on guest OS
to support x2apic. Many Windows versions don't support x2apic though,
including Win7, Windows server before 2008 R2, etc. Given that virtualization
need support various OS versions, any chance to incorporate above vEOI
optimization in KVM as an alternative to boost performance when guest
doesn't support x2apic?
Thanks
Kevin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: about vEOI optimization
2011-08-23 8:09 about vEOI optimization Tian, Kevin
@ 2011-08-24 10:00 ` Avi Kivity
2011-08-25 2:24 ` Tian, Kevin
0 siblings, 1 reply; 4+ messages in thread
From: Avi Kivity @ 2011-08-24 10:00 UTC (permalink / raw)
To: Tian, Kevin; +Cc: kvm, Nakajima, Jun
On 08/23/2011 11:09 AM, Tian, Kevin wrote:
> Hi, Avi,
>
> Both Eddie and Marcello once suggested vEOI optimization by skipping
> heavy-weight instruction decode, which reduces vEOI overhead greatly:
>
> http://www.mail-archive.com/kvm@vger.kernel.org/msg18619.html
> http://www.spinics.net/lists/kvm/msg36691.html
>
> Though virtual x2apic serves similar purpose, it depends on guest OS
> to support x2apic. Many Windows versions don't support x2apic though,
> including Win7, Windows server before 2008 R2, etc. Given that virtualization
> need support various OS versions, any chance to incorporate above vEOI
> optimization in KVM as an alternative to boost performance when guest
> doesn't support x2apic?
>
Yes. There was a problem with the guest using MOVSD or STOSD to write
the EOI; if we don't emulate, then registers don't get updated. I guess
we can ignore it since no sane guest will use those instructions for EOI.
Another option is the hyper-V EOI support, which can also eliminate the
EOI exit when no additional interrupt is pending. This can improve EOI
performance even more.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: about vEOI optimization
2011-08-24 10:00 ` Avi Kivity
@ 2011-08-25 2:24 ` Tian, Kevin
2011-08-25 4:39 ` Avi Kivity
0 siblings, 1 reply; 4+ messages in thread
From: Tian, Kevin @ 2011-08-25 2:24 UTC (permalink / raw)
To: Avi Kivity; +Cc: kvm, Nakajima, Jun
> From: Avi Kivity [mailto:avi@redhat.com]
> Sent: Wednesday, August 24, 2011 6:00 PM
>
> On 08/23/2011 11:09 AM, Tian, Kevin wrote:
> > Hi, Avi,
> >
> > Both Eddie and Marcello once suggested vEOI optimization by skipping
> > heavy-weight instruction decode, which reduces vEOI overhead greatly:
> >
> > http://www.mail-archive.com/kvm@vger.kernel.org/msg18619.html
> > http://www.spinics.net/lists/kvm/msg36691.html
> >
> > Though virtual x2apic serves similar purpose, it depends on guest OS
> > to support x2apic. Many Windows versions don't support x2apic though,
> > including Win7, Windows server before 2008 R2, etc. Given that virtualization
> > need support various OS versions, any chance to incorporate above vEOI
> > optimization in KVM as an alternative to boost performance when guest
> > doesn't support x2apic?
> >
>
> Yes. There was a problem with the guest using MOVSD or STOSD to write
> the EOI; if we don't emulate, then registers don't get updated. I guess
> we can ignore it since no sane guest will use those instructions for EOI.
yes, sane guests all use MOV for EOI. btw, Xen has integrated a similar
acceleration for several releases. When we're measuring 10G SR-IOV
network performance, vEOI access overhead may be up to 6%-8% based
on interrupt rate which is one factor for KVM to lag behind.
>
> Another option is the hyper-V EOI support, which can also eliminate the
> EOI exit when no additional interrupt is pending. This can improve EOI
> performance even more.
>
yes, and this is an orthogonal option.
So if you agree, I'll send out an updated patch atop their work.
Thanks
Kevin
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: about vEOI optimization
2011-08-25 2:24 ` Tian, Kevin
@ 2011-08-25 4:39 ` Avi Kivity
0 siblings, 0 replies; 4+ messages in thread
From: Avi Kivity @ 2011-08-25 4:39 UTC (permalink / raw)
To: Tian, Kevin; +Cc: kvm, Nakajima, Jun
On 08/25/2011 05:24 AM, Tian, Kevin wrote:
> >
> > Another option is the hyper-V EOI support, which can also eliminate the
> > EOI exit when no additional interrupt is pending. This can improve EOI
> > performance even more.
> >
>
> yes, and this is an orthogonal option.
>
> So if you agree, I'll send out an updated patch atop their work.
>
>
Thanks.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2011-08-25 4:39 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-23 8:09 about vEOI optimization Tian, Kevin
2011-08-24 10:00 ` Avi Kivity
2011-08-25 2:24 ` Tian, Kevin
2011-08-25 4:39 ` Avi Kivity
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.