On 2016-04-27 08:24, Lan Tianyu wrote: > On 2016年04月27日 13:24, Jan Kiszka wrote: >>>> If we don't want the interrupt from internal device delivers to CPU >>>>>> 255, do we still need the VT-d interrupt remapping emulation? I think >>>> firmware is able to send IPI to wakeup APs even without IR and OS is >>>> able to do it too. So basically, only KVM and Qemu's support is enough. > > Yes, just starting more than 255 APs doesn't need IR. > >> What are "internal devices" for you? And which OS do you know that would >> handle such artificial setups without prio massive patching? >> >> We do need VT-d IR emulation in order to present our guest a well >> specified and support architecture for running > 255 CPUs. > > Changing guest kernel will be big concern. I found commit ce69a784 did > optimization to use X2APIC without IR in the guest when APIC id is less > than 256 and so I proposed my idea to see everyone's feedback. Whether > it's possible to relax the IR requirement when APIC id > 255 in the guest. You can't do that easily because you can't address those additional CPUs from *any* device then, only via IPIs. That means, Linux would have to be changed to only set up IRQ affinity masks in the 0-254 range. I suppose you would even have to patch tools like irqbalanced to not issue mask changes via /proc that include larger CPU IDs. Practically not feasible, already on Linux. Not to speak of other guest OSes. Jan -- Siemens AG, Corporate Technology, CT RDA ITP SES-DE Corporate Competence Center Embedded Linux -- 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