From: Wei Huang <wei@redhat.com>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org, peter.maydell@linaro.org
Subject: [Qemu-devel] [PATCH V3 0/4] Add vPMU vPMU support under TCG mode
Date: Tue, 7 Feb 2017 16:49:27 -0500 [thread overview]
Message-ID: <1486504171-26807-1-git-send-email-wei@redhat.com> (raw)
QEMU has implemented cycle count support for guest VM under TCG mode.
But this feature is not complete. In fact using perf inside a
64-bit Linux guest VM (under TCG) can cause the following kernel panic
because some PMU registers are not implemented.
[ 329.445970] [<fffffe000009e600>] armv8pmu_enable_event+0x58/0x8c
[ 329.446713] [<fffffe0000621e74>] armpmu_start+0x4c/0x74
This patchset solves the problem by adding support for missing vPMU
registers. Basic perf test can work (both ACPI and DT) now under TCG
by applying this patchset.
address@hidden ~]# perf stat ls
Performance counter stats for 'ls':
226.740256 task-clock (msec) # 0.312 CPUs utilized
76 context-switches # 0.335 K/sec
0 cpu-migrations # 0.000 K/sec
64 page-faults # 0.282 K/sec
186,031,410 cycles # 0.820 GHz (36.40%)
<not supported> stalled-cycles-frontend
<not supported> stalled-cycles-backend
<not counted> instructions (0.00%)
<not supported> branches
<not counted> branch-misses (0.00%)
V2->V3:
* Remove PMXEVCNTR_EL0 support
* Add read access support for PMXEVTYPER and change the CONSTRAINED
UNPREDICTABLE behavior of PMXEVTYPER to RAZ/WI.
V1->V2:
* Change most PMU registers to 64bit and the behavior of PMXEVTYPER
* Add support for PMXEVCNTR_EL0
* Misc fixes (DT, ID_AA64DFR0_EL1, ...) under TCG mode
Thanks,
-Wei
Wei Huang (4):
target-arm: Add support for PMU register PMSELR_EL0
target-arm: Add support for AArch64 PMU register PMXEVTYPER_EL0
target-arm: Add support for PMU register PMINTENSET_EL1
target-arm: Enable vPMU support under TCG mode
hw/arm/virt.c | 2 +-
target/arm/cpu.c | 2 +-
target/arm/cpu.h | 4 +--
target/arm/helper.c | 72 ++++++++++++++++++++++++++++++++++++++++-------------
4 files changed, 59 insertions(+), 21 deletions(-)
--
1.8.3.1
next reply other threads:[~2017-02-07 21:49 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-07 21:49 Wei Huang [this message]
2017-02-07 21:49 ` [Qemu-devel] [PATCH V3 1/4] target-arm: Add support for PMU register PMSELR_EL0 Wei Huang
2017-02-07 21:49 ` [Qemu-devel] [PATCH V3 2/4] target-arm: Add support for AArch64 PMU register PMXEVTYPER_EL0 Wei Huang
2017-02-07 21:49 ` [Qemu-devel] [PATCH V3 3/4] target-arm: Add support for PMU register PMINTENSET_EL1 Wei Huang
2017-02-07 21:49 ` [Qemu-devel] [PATCH V3 4/4] target-arm: Enable vPMU support under TCG mode Wei Huang
2017-02-10 15:00 ` [Qemu-devel] [PATCH V3 0/4] Add vPMU " Peter Maydell
2017-02-10 15:11 ` Peter Maydell
2017-02-10 18:55 ` Wei Huang
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=1486504171-26807-1-git-send-email-wei@redhat.com \
--to=wei@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).