On Monday 25 May 2009 14:13:23 Gleb Natapov wrote: > On Mon, May 25, 2009 at 02:08:26PM +0800, Sheng Yang wrote: > > On Friday 22 May 2009 01:37:53 Gleb Natapov wrote: > > > This is implementation of x2apic for KVM that I wrote a while ago. > > > Unfortunately there is no guest that can take advantage of it since > > > Linux doesn't (yet?) use x2apic if interrupt remapping is not enabled > > > and I don't feel like implement interrupt remapping device :) > > > > > > Re-based to latest kvm tree for your viewing pleasure and feedback. > > > > Yeah... x2apic is for interrupt remapping, and interrupt remapping is for > > VT-d engine. So if we don't want to virtualize VT-d engine and interrupt > > remapping, x2apic is useless for the guest... And VT-d engine(and related > > things) virtualization is far from our scope now... > > Can you explain why "x2apic is for interrupt remapping"? I can understand > why interrupt remapping is needed to use x2apic in certain circumstances > (apic ids > 256). x2apic has better virtualizable interface and that > is why we want to emulate it. Can you name one technical reason why it > can't be done in a context of KVM? As you know, x2apic is for apic id > 256. So, at least on the real machine, if there is no interrupt remapping, x2apic almost can't take much advantage, because IOAPIC and MSI/MSI-X delivery still using 8bit apic id, so any external interrupt can't benefit from it(though IPI can benefit some, and maybe some gain from MSR rather than MMIO). And this is the main purpose for x2apic, that's why Linux kernel limited x2apic using with interrupt remapping. I am not sure the things looks like in the context of KVM. I think mostly even you virtualize it, it can't replace lapic, for guest won't use it(I am not sure about the Windows). Can you explain more detail? -- regards Yang, Sheng -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html