On 12/18/2015 04:47 AM, Michal Privoznik wrote: > On 15.12.2015 23:20, Jim Fehlig wrote: >> From: Ian Campbell <ian.campbell@xxxxxxxxxx> >> >> xend prior to 4.0 understands vcpus as maxvcpus and vcpu_avail >> as a bit map of which cpus are online (default is all). >> >> xend from 4.0 onwards understands maxvcpus as maxvcpus and >> vcpus as the number which are online (from 0..N-1). The >> upstream commit (68a94cf528e6 "xm: Add maxvcpus support") >> claims that if maxvcpus is omitted then the old behaviour >> (i.e. obeying vcpu_avail) is retained, but AFAICT it was not, >> in this case vcpu==maxcpus==online cpus. This is good for us >> because handling anything else would be fiddly. >> >> This patch changes parsing of the virDomainDef maxvcpus and vcpus >> entries to use the corresponding 'maxvcpus' and 'vcpus' settings >> from xm and xl config. It also drops use of the old Xen 3.x >> 'vcpu_avail' setting. >> >> The change also removes the maxvcpus limit of MAX_VIRT_VCPUS (since >> maxvcpus is simply a count, not a bit mask), which is particularly >> crucial on ARM where MAX_VIRT_CPUS == 1 (since all guests are >> expected to support vcpu placement, and therefore only the boot >> vcpu's info lives in the shared info page). >> >> Existing tests adjusted accordingly, and new tests added for the >> 'maxvcpus' setting. >> >> Signed-off-by: Jim Fehlig <jfehlig@xxxxxxxx> >> --- >> >> This is a respin of Ian's patch [1] to support parsing/formatting of the >> 'maxvcpus' xm and xl config setting. It goes a bit further and removes >> the old Xen 3.x 'vcpu_avail' setting and lifts the maxvcpus limit of >> MAX_VIRT_CPUS entirely. >> >> The patch is based on my recent series [2] removing xend config version from >> the codebase. >> >> [1] https://www.redhat.com/archives/libvir-list/2015-November/msg01155.html >> [2] https://www.redhat.com/archives/libvir-list/2015-December/msg00616.html >> >> >> src/xenconfig/xen_common.c | 25 +++++++++++---------- >> tests/xlconfigdata/test-paravirt-maxvcpus.cfg | 13 +++++++++++ >> tests/xlconfigdata/test-paravirt-maxvcpus.xml | 28 ++++++++++++++++++++++++ >> tests/xlconfigtest.c | 1 + >> tests/xmconfigdata/test-paravirt-maxvcpus.cfg | 13 +++++++++++ >> tests/xmconfigdata/test-paravirt-maxvcpus.xml | 31 +++++++++++++++++++++++++++ >> tests/xmconfigdata/test-paravirt-vcpu.cfg | 4 ++-- >> tests/xmconfigtest.c | 1 + >> 8 files changed, 101 insertions(+), 15 deletions(-) > ACK Thanks, pushed now. Regards, Jim -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list