* Daniel P. Berrange <berrange(a)redhat.com> [2011-07-04 10:42:58]:
On Tue, Jun 28, 2011 at 08:55:31PM +0530, Vaidyanathan Srinivasan
wrote:
> Hi,
>
> Linux host systems running KVM support various power management
> capabilities. Most of the features like DVFS and sleep states can be
> independently exploited by the host system itself based on system
> utilisation subject to policies set by the administrator.
>
> However, system-wide low power states like S3 and S4 would require
> external communication and interaction with the systems management
> stack in order to be used. The first steps in this direction would be
> to allow systems management stack to discover host power saving
> capabilities like S3 and S4 along with various other host CPU
> capabilities.
>
> Libvirt seems to be the main glue layer between the platform and the
> systems-management stack. Adding host power savings capabilities as
> part of libvirt host discovery mechanism seems to be one possible
> approach without addition of any new APIs or agents.
>
> libvirt has virConnectGetCapabilities() that would export an XML file
> describing the capabilities of the host platform and guest features.
>
> KVM hypervisor's capability to support S3 can be exported as a host
> feature in the XML as follows:
>
> <host>
> <uuid>94a3492f-2635-2491-8c87-8de976fad119</uuid>
> <cpu>
> <arch>x86_64</arch>
> <features> <<<=== New host feature fields
> <S3/>
> <S4/>
> </features>
> <model>Westmere</model>
> <vendor>Intel</vendor>
> <topology sockets='1' cores='2' threads='2'/>
> <feature name='rdtscp'/>
> <feature name='xtpr'/>
> <feature name='tm2'/>
> <feature name='est'/>
> <feature name='vmx'/> <<<= These are host CPU
features
>
> System management software that works through libvirt, already queries
> this capabilities XML file and hence no new API is needed.
>
> As simple discovery mechanism can be added to libvirt as follows:
I agree with Dave that we need more information on the "big picture"
of what you are trying to achieve overall. Just adding a <s3/> or
<s4/> element on their own doesn't really seem useful to me, so I
imagine you must have more extensive plans not yet described ?
Hi Daniel,
This piece is the first step where the host feature is discovered and
exported. The systems management software that collects data from
various hosts would keep track of this feature list and exploit these
on supported systems. As I explained to Dave, discovering these
feature through libvirt has its advantages. But as you have noted
just discovering does not give us any advantages, but without
discovering, we will not be able to exploit the feature.
--Vaidy