Thread (82 messages) 82 messages, 12 authors, 2012-10-08

[kvmarm] [PATCH 05/15] ARM: Expose PMNC bitfields for KVM use

From: Will Deacon <hidden>
Date: 2012-09-19 09:30:08
Also in: kvm

On Wed, Sep 19, 2012 at 05:09:34AM +0100, Rusty Russell wrote:
Will Deacon [off-list ref] writes:
quoted
On Sat, Sep 15, 2012 at 04:35:02PM +0100, Christoffer Dall wrote:
quoted
From: Rusty Russell <redacted>

We want some of these for use in KVM, so pull them out of
arch/arm/kernel/perf_event_v7.c into their own asm/perf_bits.h.

Signed-off-by: Rusty Russell <redacted>
Signed-off-by: Christoffer Dall <redacted>
---
 arch/arm/include/asm/perf_bits.h |   56 ++++++++++++++++++++++++++++++++++++++
 arch/arm/kernel/perf_event_v7.c  |   51 +----------------------------------
 2 files changed, 57 insertions(+), 50 deletions(-)
 create mode 100644 arch/arm/include/asm/perf_bits.h
I don't like this I'm afraid. These bit definitions, although useful for
kvm, are only applicable to ARMv7 PMUs. Perf does a reasonable job of
separating the low-level CPU-specific code and adding the v7 definitions
into their own global header feels like a step backwards. I also want to
move a load of this into drivers/ at some point and this won't help with
that effort.

Is KVM just using this for world switch? If so, why does it care about the
bit definitions (and what do you do for things like debug regs)? Is there
anything I could add to perf that you could call instead?
No, we need these definitions if we ever want to actually implement
PMU for the guest.[1]

But we don't do this yet, so you can defer this patch until then if you
want.
Ok, let's postpone the pain for the moment.
[1] Which we should do, since you NAKed the patch which would allow the
    guest to detect that we don't have a PMU, insisting that "all A15s have
    a PMU", despite the fact that we don't.  I assume this means you're
    busy implementing it right now :)
Yeah, right! Happy to add hooks to perf if you need them though, rather than
expose the raw bit definitions.

Will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help