From: Mark Rutland <mark.rutland@arm.com>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: kvm@vger.kernel.org, Peter Zijlstra <peterz@infradead.org>,
Punit Agrawal <punit.agrawal@arm.com>,
Will Deacon <will.deacon@arm.com>,
linux-kernel@vger.kernel.org,
Steven Rostedt <rostedt@goodmis.org>,
linux-arm-kernel@lists.infradead.org,
kvmarm@lists.cs.columbia.edu
Subject: Re: [PATCH v3 6/9] kvm: arm/arm64: Add host pmu to support VM introspection
Date: Wed, 18 Jan 2017 11:35:23 +0000 [thread overview]
Message-ID: <20170118113523.GB3231@leverpostej> (raw)
In-Reply-To: <1a6b8d71-58a5-b29b-3f01-e945deb2baf6@arm.com>
On Wed, Jan 18, 2017 at 11:21:21AM +0000, Marc Zyngier wrote:
> On 10/01/17 11:38, Punit Agrawal wrote:
> > +#define VM_MASK GENMASK_ULL(31, 0)
> > +#define EVENT_MASK GENMASK_ULL(32, 39)
> > +#define EVENT_SHIFT (32)
> > +
> > +#define to_pid(cfg) ((cfg) & VM_MASK)
> > +#define to_event(cfg) (((cfg) & EVENT_MASK) >> EVENT_SHIFT)
> > +
> > +PMU_FORMAT_ATTR(vm, "config:0-31");
> > +PMU_FORMAT_ATTR(event, "config:32-39");
>
> I'm a bit confused by these. Can't you get the PID of the VM you're
> tracing directly from perf, without having to encode things? And if you
> can't, surely this should be a function of the size of pid_t?
>
> Mark, can you shine some light here?
AFAICT, this is not necessary.
The perf_event_open() syscall takes a PID separately from the
perf_event_attr. i.e. we should be able to do:
// monitor a particular vCPU
perf_event_open(attr, vcpupid, -1, -1, 0)
... or ..
// monitor a particular vCPU on a pCPU
perf_event_open(attr, vcpupid, cpu, -1, 0)
... or ...
// monitor all vCPUs on a pCPU
perf_event_open(attr, -1, cpu, -1, 0)
... so this shouldn't be necessary. AFAICT, this is a SW PMU, so there
should be no issue with using the perf_sw_context.
If this is a bodge to avoid opening a perf_event per vCPU thread, then I
completely disagree with the approach. This would be better handled in
userspace by discovering the set of threads and opening events for each.
Thanks,
Mark.
next prev parent reply other threads:[~2017-01-18 11:35 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-10 11:38 [PATCH v3 0/9] Add support for monitoring guest TLB operations Punit Agrawal
2017-01-10 11:38 ` [PATCH v3 1/9] arm64/kvm: hyp: tlb: use __tlbi() helper Punit Agrawal
2017-01-10 11:38 ` [PATCH v3 2/9] KVM: Track the pid of the VM process Punit Agrawal
2017-01-10 11:38 ` [PATCH v3 3/9] KVM: Add event to trace tlb invalidations Punit Agrawal
2017-01-10 11:38 ` [PATCH v3 4/9] arm: KVM: Handle trappable TLB instructions Punit Agrawal
2017-01-10 11:38 ` [PATCH v3 5/9] arm64: " Punit Agrawal
2017-01-10 11:38 ` [PATCH v3 6/9] kvm: arm/arm64: Add host pmu to support VM introspection Punit Agrawal
2017-01-18 11:21 ` Marc Zyngier
2017-01-18 11:35 ` Mark Rutland [this message]
2017-01-18 13:01 ` Punit Agrawal
2017-01-18 13:18 ` Marc Zyngier
2017-01-18 14:51 ` Punit Agrawal
2017-01-18 15:17 ` Mark Rutland
2017-01-18 16:17 ` Punit Agrawal
2017-01-18 18:05 ` Mark Rutland
2017-01-19 16:42 ` Christoffer Dall
2017-01-23 11:21 ` Punit Agrawal
2017-01-18 13:45 ` Will Deacon
2017-01-18 14:58 ` Punit Agrawal
2017-01-18 13:06 ` Punit Agrawal
2017-01-10 11:38 ` [PATCH v3 7/9] kvm: host_pmu: Add support for tracking guest TLB operations Punit Agrawal
2017-01-10 11:38 ` [PATCH v3 8/9] arm: KVM: Enable support for host pmu Punit Agrawal
2017-01-10 11:38 ` [PATCH v3 9/9] arm64: KVM: Enable support for the " Punit Agrawal
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=20170118113523.GB3231@leverpostej \
--to=mark.rutland@arm.com \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.cs.columbia.edu \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=peterz@infradead.org \
--cc=punit.agrawal@arm.com \
--cc=rostedt@goodmis.org \
--cc=will.deacon@arm.com \
/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