kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Enable more than 255 VCPU support without irq remapping function in the guest
@ 2016-04-26 16:14 Lan, Tianyu
  2016-04-26 16:17 ` Jan Kiszka
  0 siblings, 1 reply; 25+ messages in thread
From: Lan, Tianyu @ 2016-04-26 16:14 UTC (permalink / raw)
  To: pbonzini, kvm, yang.zhang.wz, tglx, gleb, mst, jan.kiszka, x86

Hi All:

Recently I am working on extending max vcpu to more than 256 on the both
KVM/Xen. For some HPC cases, it needs many vcpus. The job requires to
use X2APIC in the guest which supports 32-bit APIC id. Linux kernel
requires irq remapping function during enabling X2APIC when max APIC id
is more than 255(More detail please see try_to_enable_x2apic()).

The irq remapping function helps to deliver irq to cpu 255~. IOAPIC just
supports 8-bit target APIC id field and only can deliver irq to
cpu 0~255.

So far both KVM/Xen doesn't enable irq remapping function. If enable the
function, it seems a huge job which need to rework IO-APIC, local APIC,
MSI parts and add virtual VTD support in the KVM.

Other quick way to enable more than 256 VCPUs is to eliminate the
dependency between irq remapping and X2APIC in the guest linux kernel.
So far I can boot the guest after removing the dependency.
The side effect I thought is that irq only can deliver to 0~255 vcpus
but 256 vcpus seem enough to balance irq requests in the guest. In the
most cases, there are fewer devices in the guest.

I wonder whether it's feasible. There maybe some other side effects I 
didn't think of. Very appreciate for your comments.

Tianyu Lan
Best regards.

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

end of thread, other threads:[~2016-05-04  5:38 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-26 16:14 Enable more than 255 VCPU support without irq remapping function in the guest Lan, Tianyu
2016-04-26 16:17 ` Jan Kiszka
2016-04-26 16:49   ` Radim Krčmář
2016-04-27  4:10     ` Yang Zhang
2016-04-27  5:24       ` Jan Kiszka
2016-04-27  6:24         ` Lan Tianyu
2016-04-27  6:56           ` Jan Kiszka
2016-04-27  9:39         ` Yang Zhang
2016-04-27  9:45           ` Jan Kiszka
2016-04-28  1:11             ` Yang Zhang
2016-04-28  6:54               ` Jan Kiszka
2016-04-28 15:32                 ` Radim Krčmář
2016-04-29  2:09                   ` Yang Zhang
2016-04-29  3:01                     ` Nadav Amit
2016-05-03  1:34                       ` Yang Zhang
2016-04-29  4:59                     ` Jan Kiszka
2016-05-03  1:52                       ` Yang Zhang
2016-05-03  2:03                         ` Nadav Amit
2016-05-03  4:55                           ` Jan Kiszka
2016-05-04  1:46                             ` Yang Zhang
2016-05-04  1:56                               ` Nadav Amit
2016-05-04  5:38                               ` Jan Kiszka
2016-04-27  5:39     ` Lan Tianyu
2016-04-27 14:38       ` Radim Krčmář
2016-04-27  5:15   ` Lan Tianyu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).