Re: [Qemu-devel] [PATCH v6 0/2] kvm: limited x86 CPU power management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 22/06/2018 21:22, Michael S. Tsirkin wrote:
> This adds ability to expose some host CPU power management capabilities
> to guests. For intel guests, this is sufficient for guest to enable low
> power CPU states on idle. For AMD guests it isn't sufficient, deeper
> C-states are entered using System-IO.
> 
> When enabled this puts CPU in a low power state with exit latencies that
> can go up to multiple milliseconds, and makes host scheduler as well as
> host utilities such as top and powertop think the CPU is constantly
> busy.  Thus it has the effect of dedicating a host CPU for this guest.
> 
> mwait based power management is tied closely to specifics of CPUID,
> making migration challenging. At this point only the non-migrateable
> -cpu host is supported.
> 
> With this patch applied, VM latency is within the noise of
> baremetal for some benchmarks.
> 
> perf bench sched pipe results:
> Before:
>     6.452 sec
> After:
>     4.382 sec
> Baremetal:
>     4.136 sec
> 
> Changes since v5:
>     Typo fix.
> 
> Changes since v4:
>     See v3, now for real.
> 
> Changes since v3:
>     At Paolo's suggestion, rename -dedicated to -overcommit.
> 
> Changes since v2:
>     At Daniel's suggestion, don't use the -realtime flag.
> 
>     At Paolo's suggestion, group this with memory lock flag
>     which has a similar effect of dedicating memory to this VM.
> 
> Michael S. Tsirkin (2):
>   kvm: support -overcommit cpu-pm=on|off
>   i386/cpu: make -cpu host support monitor/mwait
> 
>  include/sysemu/sysemu.h |  1 +
>  target/i386/cpu.h       |  9 +++++++++
>  target/i386/cpu.c       | 19 ++++++++++++++-----
>  target/i386/kvm.c       | 32 ++++++++++++++++++++++++++++++++
>  vl.c                    | 32 +++++++++++++++++++++++++++++++-
>  qemu-options.hx         | 27 +++++++++++++++++++++++++--
>  6 files changed, 112 insertions(+), 8 deletions(-)
> 

Queued, thanks.

Paolo



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux