From: Andrew Jones <drjones@redhat.com>
To: qemu-devel@nongnu.org, qemu-arm@nongnu.org
Cc: peter.maydell@linaro.org, eric.auger@redhat.com
Subject: [PATCH v3 0/5] hw/arm/virt: Introduce kvm-steal-time
Date: Wed, 16 Sep 2020 11:26:15 +0200 [thread overview]
Message-ID: <20200916092620.19161-1-drjones@redhat.com> (raw)
Previous posting:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg727588.html
v3:
- Rebased: 5.2 machine type and kvm32 drop now included
- Switched to using new KVM cap that has been merged upstream
- Picked up some r-b's and some of Eric's comments from v2
KVM supports the ability to publish the amount of time that VCPUs
were runnable, but not running due to other host threads running
instead, to the guest. The guest scheduler may use that information
when making decisions and the guest may expose it to its userspace
(Linux publishes this information in /proc/stat). This feature is
called "steal time" as it represents the amount of time stolen from
a guest by scheduling out its VCPUs. To enable this feature KVM
userspace must provide a memory region that will be used to publish
the information to the guest. The memory region is typical migratable
region. The GPA of the region is given to KVM through a VCPU device
ioctl interface. This feature is only available for 64-bit guests
per the Arm PVTIME specification (DEN0057A).
This series provides the QEMU support of this feature. It will
be enabled by default for 5.2 machine types and later, but may
be disabled with a new CPU property "kvm-steal-time".
Thanks,
drew
Andrew Jones (5):
target/arm/kvm: Make uncalled stubs explicitly unreachable
hw/arm/virt: Move post cpu realize check into its own function
hw/arm/virt: Move kvm pmu setup to virt_cpu_post_init
DO NOT MERGE: HACK: Add steal time KVM cap to kvm.h
hw/arm/virt: Implement kvm-steal-time
docs/system/arm/cpu-features.rst | 11 ++++
hw/arm/virt.c | 110 ++++++++++++++++++++++---------
include/hw/arm/virt.h | 5 ++
linux-headers/linux/kvm.h | 1 +
target/arm/cpu.c | 8 +++
target/arm/cpu.h | 4 ++
target/arm/kvm.c | 16 +++++
target/arm/kvm64.c | 64 ++++++++++++++++--
target/arm/kvm_arm.h | 94 ++++++++++++++++++++------
target/arm/monitor.c | 2 +-
tests/qtest/arm-cpu-features.c | 25 +++++--
11 files changed, 281 insertions(+), 59 deletions(-)
--
2.26.2
next reply other threads:[~2020-09-16 9:27 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-16 9:26 Andrew Jones [this message]
2020-09-16 9:26 ` [PATCH v3 1/5] target/arm/kvm: Make uncalled stubs explicitly unreachable Andrew Jones
2020-09-16 9:26 ` [PATCH v3 2/5] hw/arm/virt: Move post cpu realize check into its own function Andrew Jones
2020-09-16 9:26 ` [PATCH v3 3/5] hw/arm/virt: Move kvm pmu setup to virt_cpu_post_init Andrew Jones
2020-09-30 8:39 ` Auger Eric
2020-09-16 9:26 ` [PATCH v3 4/5] DO NOT MERGE: HACK: Add steal time KVM cap to kvm.h Andrew Jones
2020-09-30 8:39 ` Auger Eric
2020-09-16 9:26 ` [PATCH v3 5/5] hw/arm/virt: Implement kvm-steal-time Andrew Jones
2020-09-30 8:59 ` Auger Eric
2020-09-29 14:47 ` [PATCH v3 0/5] hw/arm/virt: Introduce kvm-steal-time Andrew Jones
2020-09-30 11:26 ` Andrew Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200916092620.19161-1-drjones@redhat.com \
--to=drjones@redhat.com \
--cc=eric.auger@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).