[Libvir] [PATCH] Xen: Support cpu_weight and cpu_cap for Xen.

Richard W.M. Jones rjones at redhat.com
Tue Dec 18 14:53:09 UTC 2007


Daniel Veillard wrote:
> On Fri, Oct 26, 2007 at 12:15:38PM +0100, Richard W.M. Jones wrote:
>> Daniel Veillard wrote:
>>> So you are suggesting to add this to the XML, while for me this makes 
>>> little
>>> sense because of all this specificity.
>>> I have no doubt the patch would 'work' for you, but anybody using a 
>>> different
>>> hypervisor, or different scheduler, or even someone trying to understand 
>>> what
>>> those fields are would have no use or informations (your patch does not 
>>> provide
>>> documentation for the meaning of those attributes).
>>>
>>>  I have a problem with extending the XML in a way which makes sense
>>> only for one hypervisor, when using a specific scheduler, and without
>>> a proper definition for what the extension actually means. 
>>>  Also Those informations are highly runtime dependant, it's tuning,
>>> it is not critical at all to get that tuning to get the domain up and
>>> running, and once it is running you can actually use the libvirt API
>>> to make the scheduler tuning.
>>>
>>>  Can you explain why you absolutely want to have that tuning information
>>> in the XML itself ?
>> There's certainly a general problem here: how do we persist information 
>> like CPU pinning and scheduler information across domain shutdown to the 
>> next time that the domain starts up.  What is the current thinking about 
>> setting CPU pinning info when a domain boots?
> 
>   To me that's the same thing, CPU pinning and scheduler information are
> basically tuning informations. Maybe this is static, maybe this needs to
> change frequently, but we cannot assume the first case for the design.
> 
>   What would make more sense to me is to be able to save and restore
> tuning informations, per domain or for the full system at the virsh 
> level. For example something like:
>    virsh savetuning > tuning.data
>    or
>    virsh savetuning domain > tuning.data
> 
>  and
> 
>    virsh loadtuning tuning.data
> 
>   This would still be convenient for the user, especially for locked systems
> or systems where multiple different workload can be used depending on the
> demand, one would just need to save tuning for each of them. Tuning could be
> reloaded or readjusted ech time a domain is stopped/started or the whole node
> is rebooted.
>   The implementation could be done entierely in libvirt without having
> to change or extend existing APIs or behaviour.
> 
>   I can understand the need to make it easy for an user, I still don't
> think this means those tuning informations need to be associated to the
> domain definition, to me it is somehow orthogonal to the domain themselves
> and I would rather try to provide a good solution to the problem, than
> try to imitate how Xen was doing that.

[Resurrecting this old thread ...]

How about this as a plan?

(1) Add 'virsh savetuning' and 'virsh loadtuning' commands as Daniel 
Veillard has suggested above.  These would save the per-domain tuning 
information to an XML file

   <tuning>
     <pin vcpu="0" pcpu="0"/>
     <pin vcpu="1" pcpu="1"/>
     <!-- other stuff for cpu_weight, etc. -->
   </tuning>

(2) Modify 'virsh define' and 'virsh create' commands to add a 
'--with-tuning' flag, so that:

   virsh define foo.xml --with-tuning foo-tuning.xml

Which basically does the ordinary 'virsh define' step followed by 'virsh 
loadtuning'.

(3) Modify 'virsh save' to add '--save-tuning', so that:

   virsh save foo foo.img --save-tuning foo-tuning.xml

This captures the tuning information into the XML file, and is the same 
as doing an ordinary 'save' followed by 'virsh savetuning'.

	- - -

This doesn't change the libvirt API, nor does it deal with saving and 
restoring tuning information across restarts (but then I can't see how 
the autostart flag works for Xen at the moment at all ... a bug?)

I'm prepared to do this work if people think it's a good idea.

Rich.

-- 
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3237 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20071218/2a527a36/attachment-0001.bin>


More information about the libvir-list mailing list