[libvirt] [PATCH] libxl: don't hardcode scheduler weight

Jim Fehlig jfehlig at suse.com
Wed Mar 21 21:58:35 UTC 2018


On 03/02/2018 02:38 PM, John Ferlan wrote:
> 
> 
> On 02/22/2018 05:20 PM, Jim Fehlig wrote:
>> Long ago in commit dfa1e1dd53 the scheduler weight was accidentally
>> hardcoded to 1000. Weight is a setting with no unit since it is
>> relative to the weight of other domains. If no weight is specified,
>> libxl defaults to 256.
>>
>> Instead of hardcoding the weight to 1000, honor any <shares> specified
>> in <cputune>. libvirt's notion of shares is synonomous to libxl's
>> scheduler weight setting. If shares is unspecified, defer default
>> weight setting to libxl.
>>
>> Removing the hardcoded weight required some test fixup. While at it,
>> add an explicit test for <shares> conversion to scheduler weight.
>>
>> Signed-off-by: Jim Fehlig <jfehlig at suse.com>
>> ---
>>
>> Honoring <shares> specified by the user is certainly desirable,
>> but I'm not sure about changing the default weight. One problematic
>> scenario that came to mind: Several domains started by pre-patch
>> libvirtd with weight=1000, update libvirtd with patch, start more
>> domains with weight=256. The pre-patch domains unknowingly have
>> a weight nearly 4 times that of post-patch domains.
> 
> Put 'em all on a diet.  Don't try to do it overnight though because that
> never works and it makes them all hangry...  Slowly try to have them
> lose weight over the course a few months and in no time they'll be slim,
> trim, and less cumbersome. Whether they'll be happy - who knows ;-)

Heh, funny :-).

I'll manage this downstream by ensuring the patch only lands in a new product 
release, where no domains will be running when libvirt is installed.

>>
>>   src/libxl/libxl_conf.c                             |  4 +-
>>   tests/libxlxml2domconfigdata/basic-hvm.json        |  2 +-
>>   tests/libxlxml2domconfigdata/basic-pv.json         |  2 +-
>>   tests/libxlxml2domconfigdata/cpu-shares-hvm.json   | 89 ++++++++++++++++++++++
>>   tests/libxlxml2domconfigdata/cpu-shares-hvm.xml    | 39 ++++++++++
>>   tests/libxlxml2domconfigdata/moredevs-hvm.json     |  2 +-
>>   tests/libxlxml2domconfigdata/multiple-ip.json      |  2 +-
>>   .../libxlxml2domconfigdata/variable-clock-hvm.json |  2 +-
>>   tests/libxlxml2domconfigdata/vnuma-hvm.json        |  2 +-
>>   tests/libxlxml2domconfigtest.c                     |  1 +
>>   10 files changed, 138 insertions(+), 7 deletions(-)
>>
> 
> Perhaps this is a "news" worthy type change along with the caveat about
> those more weighty domains that were allowed to feed at the trough
> without being limited.

I've sent a patch to add a news entry, including a short description of the 
potential problem + mitigation

https://www.redhat.com/archives/libvir-list/2018-March/msg01336.html

Regards,
Jim




More information about the libvir-list mailing list