[libvirt] [PATCH RFC 3/3] qemu: Add support for paravirtual spinlocks in the guest
Ján Tomko
jtomko at redhat.com
Wed Sep 25 15:43:08 UTC 2013
On 09/24/2013 10:43 AM, Peter Krempa wrote:
> The linux kernel recently added support for paravirtual spinlock
> handling to avoid performance regressions on overcomitted hosts. This
> feature needs to be turned in the hypervisor so that the guest OS is
s/turned in/turned on in/
> notified about the possible support.
>
> This patch adds a new feature "paravirt-spinlock" to the XML and
> supporting code to enable the "kvm_pv_unhalt" pseudoCPU feature in qemu.
I'm guessing we can't split those without compiler warnings about not all enum
values being handled in the switch.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=1008989
> ---
> This patch is RFC as qemu didn't add this to the upstream repo yet:
Now upstream:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=f010bc6
>
> Pull request:
> http://lists.nongnu.org/archive/html/qemu-devel/2013-09/msg03385.html
>
> Original thread:
> http://lists.nongnu.org/archive/html/qemu-devel/2013-09/msg03095.html
>
> I'm sending it to get review feedback but will push it only after qemu will
> have it.
>
>
> docs/formatdomain.html.in | 7 ++++++
> docs/schemas/domaincommon.rng | 10 ++++++++-
> src/conf/domain_conf.c | 20 ++++++++++++++++-
> src/conf/domain_conf.h | 1 +
> src/qemu/qemu_command.c | 14 ++++++++++++
> .../qemuxml2argv-pv-spinlock-disabled.args | 5 +++++
> .../qemuxml2argv-pv-spinlock-disabled.xml | 26 ++++++++++++++++++++++
> .../qemuxml2argv-pv-spinlock-enabled.args | 5 +++++
> .../qemuxml2argv-pv-spinlock-enabled.xml | 26 ++++++++++++++++++++++
> tests/qemuxml2argvtest.c | 2 ++
> tests/qemuxml2xmltest.c | 2 ++
> 11 files changed, 116 insertions(+), 2 deletions(-)
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pv-spinlock-disabled.args
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pv-spinlock-disabled.xml
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pv-spinlock-enabled.args
> create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-pv-spinlock-enabled.xml
>
> @@ -16742,6 +16759,7 @@ virDomainDefFormatInternal(virDomainDefPtr def,
> case VIR_DOMAIN_FEATURE_HAP:
> case VIR_DOMAIN_FEATURE_VIRIDIAN:
> case VIR_DOMAIN_FEATURE_PRIVNET:
> + case VIR_DOMAIN_FEATURE_PARAVIRT_SPINLOCK:
> switch ((enum virDomainFeatureState) def->features[i]) {
> case VIR_DOMAIN_FEATURE_STATE_ON:
> /* output just the element */
Unlike the features above, this one can actually be turned off.
Jan
More information about the libvir-list
mailing list