[libvirt] [PATCH 2/3] qemu_driver: clamp value for setting sched cpu_shares with --config.
Ján Tomko
jtomko at redhat.com
Thu May 15 12:11:11 UTC 2014
On 05/15/2014 11:39 AM, Dongsheng Yang wrote:
> As shown in 'man virsh' about schedinfo:
>
> Note: The cpu_shares parameter has a valid value range of 0-262144;
> Negative values are wrapped to positive, and larger values are capped at
> the maximum. Therefore, -1 is a useful shorthand for 262144.
> On the Linux kernel, the values 0 and 1 are automatically converted to
> a minimal value of 2.
> it works well with --live, but not with --config.
>
> Example:
> # virsh schedinfo rhel7-ful --set cpu_shares=0 --config
> Scheduler : posix
> cpu_shares : 0
> vcpu_period : 0
> vcpu_quota : 0
> emulator_period: 0
> emulator_quota : 0
> cpu_shares is 0 rather than expected 2.
>
> What's worse, when we start it again, it is the default value of
> cpu_shares 1024.
>
> Because when we set the value of cpu_shares, when flag is --live,
> write the value into cgroup/cpu.shares. Then it will convert the
> value into the range of [2, 262144]. When flag is --config, we
> set the value into vmdef immidiately and 0 means no settting for
> cpu_shares. When we start vm again, libvirt use default value(1024)
> for it.
commit bdffab0d5c52d31bd71422b0b69665efb6650953
Author: Ján Tomko <jtomko at redhat.com>
CommitDate: 2014-03-26 10:10:02 +0100
Treat zero cpu shares as a valid value
changed this behavior.
After this commit, if you set cpu_shares to 0 via schedinfo --config, the 0
will be written in the XML and used on domain startup.
To use the default value, the <shares> element needs to be removed from the
XML before restarting the domain, this cannot be currently done via 'virsh
schedinfo'.
Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140515/5fe6d3c2/attachment-0001.sig>
More information about the libvir-list
mailing list