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

John Ferlan jferlan at redhat.com
Fri Mar 2 21:38:10 UTC 2018



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 ;-)

> 
>  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.

In any case, this all seems reasonable to me, but it also seems you have
a self inflicted merge conflict.

Without compiling, via visual inspection:

Reviewed-by: John Ferlan <jferlan at redhat.com>

John




More information about the libvir-list mailing list