qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH V2 0/5] Add vPMU vPMU support under TCG mode
@ 2017-01-31 15:15 Wei Huang
  2017-01-31 15:15 ` [Qemu-devel] [PATCH V2 1/5] target-arm: Add support for PMU register PMSELR_EL0 Wei Huang
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Wei Huang @ 2017-01-31 15:15 UTC (permalink / raw)
  To: qemu-devel; +Cc: qemu-arm, peter.maydell

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%)

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 (5):
  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 PMXEVCNTR_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    |  5 +++--
 target/arm/helper.c | 65 ++++++++++++++++++++++++++++++++++++++++-------------
 4 files changed, 55 insertions(+), 19 deletions(-)

-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2017-02-03 15:41 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-31 15:15 [Qemu-devel] [PATCH V2 0/5] Add vPMU vPMU support under TCG mode Wei Huang
2017-01-31 15:15 ` [Qemu-devel] [PATCH V2 1/5] target-arm: Add support for PMU register PMSELR_EL0 Wei Huang
2017-02-03 13:20   ` Peter Maydell
2017-01-31 15:15 ` [Qemu-devel] [PATCH V2 2/5] target-arm: Add support for AArch64 PMU register PMXEVTYPER_EL0 Wei Huang
2017-02-03 13:24   ` Peter Maydell
2017-02-03 15:03     ` Wei Huang
2017-01-31 15:15 ` [Qemu-devel] [PATCH V2 3/5] target-arm: Add support for PMU register PMXEVCNTR_EL0 Wei Huang
2017-02-03 13:28   ` Peter Maydell
2017-01-31 15:15 ` [Qemu-devel] [PATCH V2 4/5] target-arm: Add support for PMU register PMINTENSET_EL1 Wei Huang
2017-02-03 13:30   ` Peter Maydell
2017-02-03 15:19     ` Wei Huang
2017-02-03 15:41       ` Peter Maydell
2017-01-31 15:15 ` [Qemu-devel] [PATCH V2 5/5] target-arm: Enable vPMU support under TCG mode Wei Huang
2017-02-03 13:31   ` Peter Maydell

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).