From: Will Deacon <will.deacon@arm.com>
To: a.p.zijlstra@chello.nl
Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org
Subject: HW perf initialisation as early_initcall
Date: Wed, 23 Nov 2011 14:56:58 +0000 [thread overview]
Message-ID: <20111123145658.GM25848@mudshark.cambridge.arm.com> (raw)
Hi Peter,
In commit 004417a6 ("perf, arch: Cleanup perf-pmu init vs lockup-detector"),
you moved the arch hw perf initialisation into an early initcall to satisfy a
race with the NMI lock detector (I'm not clear on what the relationship is).
Anyway, with ARM big/little platforms on the horizon we have the fun of
heterogeneous PMUs in the sense that:
- They may have different numbers of event counters
- They may support different event types (possibly a distinct set)
- The event encodings for the generalised events may be different
The latter two points I think can be solved in the back-end by making events
affine to a particular PMU type (that is, they are only scheduled when the
profiled task is running on a given PMU type), although I'm not sure how this
will be exposed to userspace yet. It might be nice to register a separate
PMU with perf altogether, but I don't think the userspace tools are there
yet in terms of specifying the destination PMU for an event.
The first point is part of a bigger problem, namely that we can only find
out the PMU topology of the system by probing the device tree. For older
platforms, we will still probe the PMU of the boot CPU by inspecting the ID
registers.
My question is: does the hw perf initialisation really need to be an
early_initcall and, if so, how much of the perf backend needs to be up and
running? It may be that the early initcall assumes all PMUs are the same and
then later on I go and rewrite things like the number of counters.
Of course, any ideas regarding the above are more than welcome!
Cheers,
Will
next reply other threads:[~2011-11-23 14:57 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-23 14:56 Will Deacon [this message]
2011-11-23 15:08 ` HW perf initialisation as early_initcall Peter Zijlstra
2011-11-23 15:30 ` Will Deacon
2011-11-23 15:57 ` Peter Zijlstra
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=20111123145658.GM25848@mudshark.cambridge.arm.com \
--to=will.deacon@arm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.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