From: Will Deacon <will.deacon@arm.com>
To: Stephen Boyd <sboyd@codeaurora.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 2/7] ARM: perf_event: Support percpu irqs for the CPU PMU
Date: Thu, 9 Jan 2014 10:49:43 +0000 [thread overview]
Message-ID: <20140109104943.GB17838@mudshark.cambridge.arm.com> (raw)
In-Reply-To: <1389221984-10973-3-git-send-email-sboyd@codeaurora.org>
Hello,
On Wed, Jan 08, 2014 at 10:59:39PM +0000, Stephen Boyd wrote:
> Some CPU PMUs are wired up with one PPI for all the CPUs instead
> of with a different SPI for each CPU. Add support for these
> devices.
>
> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
> ---
> arch/arm/kernel/perf_event_cpu.c | 107 +++++++++++++++++++++++++++++----------
> 1 file changed, 79 insertions(+), 28 deletions(-)
[...]
> +static irq_handler_t cpu_handler;
> +
> +static irqreturn_t cpu_pmu_dispatch_irq(int irq, void *dev)
> +{
> + struct arm_pmu *arm_pmu = *(struct arm_pmu **)dev;
> + return cpu_handler(irq, arm_pmu);
> +}
I don't like this bit -- having a global cpu_handler field is going to
interfere with the big.LITTLE work and casting the per-cpu dev token is also
pretty hacky.
However, you're forced down this route by the need to invoke the armpmu IRQ
dispatcher. Now, that only exists as a workaround for the braindead
interrupt routing on the u8500 (they OR'd all the PMU SPIs together) -- it's
not a problem that will affect a system using PPIs. If you look, there is
only one use of the thing in: arch/arm/mach-ux500/cpu-db8500.c.
So, we could rename that callback to make it clear that it's not so much an
IRQ handler wrapper as a specific hack to deal with broken SPIs. Then the
cpu_pmu code can neglect to make the callback if it's using PPI.
What do you think?
Will
next prev parent reply other threads:[~2014-01-09 10:50 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-08 22:59 [PATCH 0/7] Support Krait CPU PMUs Stephen Boyd
2014-01-08 22:59 ` [PATCH 1/7] ARM: perf_event: Silence sparse warning Stephen Boyd
2014-01-09 10:45 ` Will Deacon
2014-01-09 23:59 ` Stephen Boyd
2014-01-08 22:59 ` [PATCH 2/7] ARM: perf_event: Support percpu irqs for the CPU PMU Stephen Boyd
2014-01-09 10:49 ` Will Deacon [this message]
2014-01-09 19:17 ` Stephen Boyd
2014-01-10 10:58 ` Will Deacon
2014-01-10 19:36 ` Stephen Boyd
2014-01-13 11:52 ` Will Deacon
2014-01-14 20:57 ` Stephen Boyd
2014-01-15 10:33 ` Will Deacon
2014-01-08 22:59 ` [PATCH 3/7] ARM: perf_event: Add basic support for Krait CPU PMUs Stephen Boyd
2014-01-09 11:04 ` Will Deacon
2014-01-09 19:57 ` Stephen Boyd
2014-01-10 11:01 ` Will Deacon
2014-01-10 18:57 ` Stephen Boyd
2014-01-08 22:59 ` [PATCH 4/7] ARM: perf_event: Add hook for event index clearing Stephen Boyd
2014-01-08 22:59 ` [PATCH 5/7] ARM: perf_event: Fully support Krait CPU PMU events Stephen Boyd
2014-01-08 22:59 ` [PATCH 6/7] devicetree: bindings: Document Krait performance monitor units (PMU) Stephen Boyd
2014-01-09 18:14 ` Will Deacon
2014-01-09 19:57 ` Stephen Boyd
2014-01-08 22:59 ` [PATCH 7/7] ARM: dts: msm: Add krait-pmu to platforms with Krait CPUs Stephen Boyd
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=20140109104943.GB17838@mudshark.cambridge.arm.com \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sboyd@codeaurora.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
all inboxes | Powered by JetHome®