public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* Re: How does kvm support x2apic?
@ 2014-06-11  1:33 Zhang Haoyu
  2014-06-11  3:54 ` Jidong Xiao
  0 siblings, 1 reply; 13+ messages in thread
From: Zhang Haoyu @ 2014-06-11  1:33 UTC (permalink / raw)
  To: Jidong Xiao, KVM

> Hi,
>
> According to this:
> 
> https://github.com/torvalds/linux/commit/0d1de2d901f4ba0972a3886496a44fb1d3300dbd
> 
> It looks like kvm have been supporting x2apic since kernel 2.6.32, or
> even earlier.
>
This patch is to emulate x2apic for guest, then guest can benefit from some advantages of x2apic, like using RDMSR/WRMSR instead of mmio.

> However, this following patch:
> 
> https://github.com/torvalds/linux/commit/8d14695f9542e9e0195d6e41ddaa52c32322adf5
> 
> Also claims that adding support for x2apic. But this later patch was
> for kernel 3.9.
This patch is to support virtual x2apic mode, which can virtualizing MSR-based APIC accesses by configuring MSR bitmaps,
you can specify some MSR-based accesses without VM exit, the other MSR-based accesses with VM exit,
which belongs to APIC virtualization from certain angle.
>
> So I am very confused:
> 
> First, what's the difference between these two patches? Or say, does
> kvm support x2apic since kernel 2.6.32, or since kernel 3.9?
> 
kvm support x2apic since kernel 2.6.32, but not support virtual x2apic mode until kernel 3.9.

> Second, can guest use x2apic even if the host does not? (Assuming qemu
>has exposed this feature to guest.) The word "use" means something
> like, accessing x2apic registers, setting the x2apic enable bit in
> IA32_APICBASE MSR (i.e. bit 10).
> 
Yes, you can use x2apic even if the PCPU does not support, and benefit from it, like performance bonus from MSR accesses instead of MMIO.
But, if I remember correctly, if your guest does not support interrupt-remmping, you only can use physical destination mode when using x2apic,
please see enable_IR_x2apic().

> -Jidong


^ permalink raw reply	[flat|nested] 13+ messages in thread
* How does kvm support x2apic?
@ 2014-06-10 17:30 Jidong Xiao
  0 siblings, 0 replies; 13+ messages in thread
From: Jidong Xiao @ 2014-06-10 17:30 UTC (permalink / raw)
  To: KVM

Hi,

According to this:

https://github.com/torvalds/linux/commit/0d1de2d901f4ba0972a3886496a44fb1d3300dbd

It looks like kvm have been supporting x2apic since kernel 2.6.32, or
even earlier.

However, this following patch:

https://github.com/torvalds/linux/commit/8d14695f9542e9e0195d6e41ddaa52c32322adf5

Also claims that adding support for x2apic. But this later patch was
for kernel 3.9.

So I am very confused:

First, what's the difference between these two patches? Or say, does
kvm support x2apic since kernel 2.6.32, or since kernel 3.9?

Second, can guest use x2apic even if the host does not? (Assuming qemu
has exposed this feature to guest.) The word "use" means something
like, accessing x2apic registers, setting the x2apic enable bit in
IA32_APICBASE MSR (i.e. bit 10).

-Jidong

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2014-06-12  3:24 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-11  1:33 How does kvm support x2apic? Zhang Haoyu
2014-06-11  3:54 ` Jidong Xiao
2014-06-11  4:15   ` Jidong Xiao
2014-06-11  4:53     ` Zhang Haoyu
2014-06-11  5:08       ` Jidong Xiao
2014-06-11  5:29         ` Jidong Xiao
2014-06-11  6:27         ` Zhang Haoyu
2014-06-11  6:46           ` Jidong Xiao
2014-06-11  8:49             ` Zhang Haoyu
2014-06-11 15:12               ` Jidong Xiao
2014-06-12  0:42                 ` Zhang Haoyu
2014-06-12  3:24                   ` Jidong Xiao
  -- strict thread matches above, loose matches on Subject: below --
2014-06-10 17:30 Jidong Xiao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox