All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@codeaurora.org>
To: Will Deacon <will.deacon@arm.com>
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 v2 1/7] ARM: perf_event: Support percpu irqs for the CPU PMU
Date: Fri, 17 Jan 2014 09:54:36 -0800	[thread overview]
Message-ID: <52D96E5C.4040506@codeaurora.org> (raw)
In-Reply-To: <20140117150411.GI16003@mudshark.cambridge.arm.com>

On 01/17/14 07:04, Will Deacon wrote:
> Hi Stephen,
>
> On Wed, Jan 15, 2014 at 08:54:27PM +0000, Stephen Boyd wrote:
>> On 01/15, Stephen Boyd wrote:
>>> diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
>>> index 789d846a9184..e76750980b38 100644
>>> --- a/arch/arm/kernel/perf_event.c
>>> +++ b/arch/arm/kernel/perf_event.c
>>> @@ -295,9 +297,15 @@ validate_group(struct perf_event *event)
>>>  
>>>  static irqreturn_t armpmu_dispatch_irq(int irq, void *dev)
>>>  {
>>> -	struct arm_pmu *armpmu = (struct arm_pmu *) dev;
>>> -	struct platform_device *plat_device = armpmu->plat_device;
>>> -	struct arm_pmu_platdata *plat = dev_get_platdata(&plat_device->dev);
>>> +	struct arm_pmu *armpmu;
>>> +	struct platform_device *plat_device;
>>> +	struct arm_pmu_platdata *plat;
>>> +
>>> +	if (irq_is_percpu(irq))
>>> +		dev = *(struct arm_pmu_cpu **)dev;
>> Oh. I just realized that struct arm_pmu_cpu doesn't even exist. This
>> still compiles though because we're dealing with a void pointer.
>>
>> Perhaps its better to just do
>>
>> 	dev = *(void **)dev;
>>
>> here. Can you fix that up when applying? Otherwise I'll do it on
>> the next send if there are more comments.
> Shouldn't that actually be some per_cpu accessor like this_cpu_ptr?
>

Nope. The genirq layer unwraps the per_cpu pointer and passes it to the
handler.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

WARNING: multiple messages have this Message-ID (diff)
From: sboyd@codeaurora.org (Stephen Boyd)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/7] ARM: perf_event: Support percpu irqs for the CPU PMU
Date: Fri, 17 Jan 2014 09:54:36 -0800	[thread overview]
Message-ID: <52D96E5C.4040506@codeaurora.org> (raw)
In-Reply-To: <20140117150411.GI16003@mudshark.cambridge.arm.com>

On 01/17/14 07:04, Will Deacon wrote:
> Hi Stephen,
>
> On Wed, Jan 15, 2014 at 08:54:27PM +0000, Stephen Boyd wrote:
>> On 01/15, Stephen Boyd wrote:
>>> diff --git a/arch/arm/kernel/perf_event.c b/arch/arm/kernel/perf_event.c
>>> index 789d846a9184..e76750980b38 100644
>>> --- a/arch/arm/kernel/perf_event.c
>>> +++ b/arch/arm/kernel/perf_event.c
>>> @@ -295,9 +297,15 @@ validate_group(struct perf_event *event)
>>>  
>>>  static irqreturn_t armpmu_dispatch_irq(int irq, void *dev)
>>>  {
>>> -	struct arm_pmu *armpmu = (struct arm_pmu *) dev;
>>> -	struct platform_device *plat_device = armpmu->plat_device;
>>> -	struct arm_pmu_platdata *plat = dev_get_platdata(&plat_device->dev);
>>> +	struct arm_pmu *armpmu;
>>> +	struct platform_device *plat_device;
>>> +	struct arm_pmu_platdata *plat;
>>> +
>>> +	if (irq_is_percpu(irq))
>>> +		dev = *(struct arm_pmu_cpu **)dev;
>> Oh. I just realized that struct arm_pmu_cpu doesn't even exist. This
>> still compiles though because we're dealing with a void pointer.
>>
>> Perhaps its better to just do
>>
>> 	dev = *(void **)dev;
>>
>> here. Can you fix that up when applying? Otherwise I'll do it on
>> the next send if there are more comments.
> Shouldn't that actually be some per_cpu accessor like this_cpu_ptr?
>

Nope. The genirq layer unwraps the per_cpu pointer and passes it to the
handler.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation

  reply	other threads:[~2014-01-17 17:54 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-15 17:55 [PATCH v2 0/7] Support Krait CPU PMUs Stephen Boyd
2014-01-15 17:55 ` Stephen Boyd
2014-01-15 17:55 ` [PATCH v2 1/7] ARM: perf_event: Support percpu irqs for the CPU PMU Stephen Boyd
2014-01-15 17:55   ` Stephen Boyd
2014-01-15 20:54   ` Stephen Boyd
2014-01-15 20:54     ` Stephen Boyd
2014-01-17 15:04     ` Will Deacon
2014-01-17 15:04       ` Will Deacon
2014-01-17 17:54       ` Stephen Boyd [this message]
2014-01-17 17:54         ` Stephen Boyd
2014-01-17 18:08         ` Will Deacon
2014-01-17 18:08           ` Will Deacon
2014-02-07 11:30         ` Will Deacon
2014-02-07 11:30           ` Will Deacon
2014-02-07 11:30           ` Will Deacon
2014-02-03 20:31   ` Christopher Covington
2014-02-03 20:31     ` Christopher Covington
2014-01-15 17:55 ` [PATCH v2 2/7] ARM: perf_event: Assign pdev pointer earlier for CPU PMUs Stephen Boyd
2014-01-15 17:55   ` Stephen Boyd
2014-01-15 17:55 ` [PATCH v2 3/7] ARM: perf_event: Add basic support for Krait " Stephen Boyd
2014-01-15 17:55   ` Stephen Boyd
2014-01-15 17:55 ` [PATCH v2 4/7] ARM: perf_event: Add hook for event index clearing Stephen Boyd
2014-01-15 17:55   ` Stephen Boyd
2014-01-15 17:55 ` [PATCH v2 5/7] ARM: perf_event: Fully support Krait CPU PMU events Stephen Boyd
2014-01-15 17:55   ` Stephen Boyd
2014-01-21 18:07   ` Will Deacon
2014-01-21 18:07     ` Will Deacon
2014-01-21 18:37     ` Stephen Boyd
2014-01-21 18:37       ` Stephen Boyd
2014-01-21 21:59       ` Stephen Boyd
2014-01-21 21:59         ` Stephen Boyd
2014-01-22 10:58         ` Will Deacon
2014-01-22 10:58           ` Will Deacon
2014-01-22 20:47       ` Stephen Boyd
2014-01-22 20:47         ` Stephen Boyd
2014-01-23 10:32         ` Will Deacon
2014-01-23 10:32           ` Will Deacon
     [not found] ` <1389808535-23852-1-git-send-email-sboyd-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2014-01-15 17:55   ` [PATCH v2 6/7] devicetree: bindings: Document Krait performance monitor units (PMU) Stephen Boyd
2014-01-15 17:55     ` Stephen Boyd
2014-01-15 17:55     ` Stephen Boyd
2014-01-15 17:55 ` [PATCH v2 7/7] ARM: dts: msm: Add krait-pmu to platforms with Krait CPUs Stephen Boyd
2014-01-15 17:55   ` 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=52D96E5C.4040506@codeaurora.org \
    --to=sboyd@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.