On 14.07.21 15:21, Vitaly Kuznetsov wrote:
Juergen Gross [off-list ref] writes:
quoted
On 14.07.21 13:45, Vitaly Kuznetsov wrote:
quoted
Personally, I'd vote for introducing a 'ratio' parameter then so
generally users will only have to set 'kvm.max_vcpus'.
Okay.
Default '4' then? Or '2 ^ (topology_levels - 2)' (assuming a
topology_level of 3 on Intel: thread/core/socket and 4 on EPYC:
thread/core/package/socket).
I'd suggest we default to '4' for both Intel and AMD as we haven't given
up completely on cross-vendor VMs (running AMD VMs on Intel CPUs and
vice versa). It would be great to leave a comment where the number comes
from of course.
Thinking more about it I believe it would be better to make the
parameter something like "additional vcpu-id bits" with a default of
topology_levels - 2 (cross-vendor VMs are so special that I think the
need to specify another value explicitly in this case is acceptable).
Reasons are:
- the ability to specify factor values not being a power of 2 is weird
- just specifying the additional number of bits would lead to compatible
behavior (e.g. a max vcpu-id of 1023 with max_vcpus being 288 and the
default value of 1)
- the max vcpu-id should (normally) be 2^n - 1
Juergen