2016-04-22 09:40+0800, Wanpeng Li: > 2016-04-21 23:29 GMT+08:00 Radim Krčmář <rkrcmar@xxxxxxxxxx>: >> x86 vcpu_id encodes APIC ID and APIC ID encodes CPU topology by >> reserving blocks of bits for socket/core/thread, so if core or thread >> count isn't a power of two, then the set of valid APIC IDs is sparse, > > ^^^^^^^^^^^^^^^^^^^ > ^^^^^^^ > Is this the root reason why recommand max vCPUs per vm is 160 and the > KVM_MAX_VCPUS is 255 instead of due to perforamnce concern? No, the recommended amout of VCPUs is 160 because I didn't bump it after PLE stopped killing big guests. :/ You can get full 255 VCPU guest with a proper configuration, e.g. "-smp 255" or "-smp 255,cores=8" and the only problem is scalability, but I don't know of anything that doesn't scale to that point. (Scaling up to 2^32 is harder, because you don't want O(N) search, nor full allocation on smaller guests. Neither is a big problem now.)