[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 0/2] kvm: limited x86 CPU power management
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PATCH v3 0/2] kvm: limited x86 CPU power management |
Date: |
Sat, 16 Jun 2018 01:29:02 +0300 |
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 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 -dedicated 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 | 18 ++++++++++++++++++
6 files changed, 105 insertions(+), 6 deletions(-)
--
MST