All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Wei Huang <wei@redhat.com>, kvmarm@lists.cs.columbia.edu
Cc: linux-arm-kernel@lists.infradead.org, shannon.zhao@linaro.org,
	kvm@vger.kernel.org, christoffer.dall@linaro.org,
	drjones@redhat.com, cov@codeaurora.org, will.deacon@arm.com,
	mark.rutland@arm.com, catalin.marinas@arm.com,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] arm64: perf: Move ARMv8 PMU perf event definitions to asm/perf_event.h
Date: Thu, 10 Nov 2016 15:32:12 +0000	[thread overview]
Message-ID: <733f067d-7f3b-df28-eab7-a15abba947fc@arm.com> (raw)
In-Reply-To: <d9ef10b9-44f2-b02e-9d90-02cf348aa49c@redhat.com>

On 10/11/16 15:12, Wei Huang wrote:
> 
> 
> On 11/10/2016 03:10 AM, Marc Zyngier wrote:
>> Hi Wei,
>>
>> On 09/11/16 19:57, Wei Huang wrote:
>>> This patch moves ARMv8-related perf event definitions from perf_event.c
>>> to asm/perf_event.h; so KVM code can use them directly. This also help
>>> remove a duplicated definition of SW_INCR in perf_event.h.
>>>
>>> Signed-off-by: Wei Huang <wei@redhat.com>
>>> ---
>>>  arch/arm64/include/asm/perf_event.h | 161 +++++++++++++++++++++++++++++++++++-
>>>  arch/arm64/kernel/perf_event.c      | 161 ------------------------------------
>>>  2 files changed, 160 insertions(+), 162 deletions(-)
>>>
>>> diff --git a/arch/arm64/include/asm/perf_event.h b/arch/arm64/include/asm/perf_event.h
>>> index 2065f46..6c7b18b 100644
>>> --- a/arch/arm64/include/asm/perf_event.h
>>> +++ b/arch/arm64/include/asm/perf_event.h
>>> @@ -46,7 +46,166 @@
>>>  #define	ARMV8_PMU_EVTYPE_MASK	0xc800ffff	/* Mask for writable bits */
>>>  #define	ARMV8_PMU_EVTYPE_EVENT	0xffff		/* Mask for EVENT bits */
>>>  
>>> -#define ARMV8_PMU_EVTYPE_EVENT_SW_INCR	0	/* Software increment event */
>>> +/*
>>> + * ARMv8 PMUv3 Performance Events handling code.
>>> + * Common event types.
>>> + */
>>> +
>>> +/* Required events. */
>>> +#define ARMV8_PMUV3_PERFCTR_SW_INCR				0x00
>>> +#define ARMV8_PMUV3_PERFCTR_L1D_CACHE_REFILL			0x03
>>> +#define ARMV8_PMUV3_PERFCTR_L1D_CACHE				0x04
>>> +#define ARMV8_PMUV3_PERFCTR_BR_MIS_PRED				0x10
>>> +#define ARMV8_PMUV3_PERFCTR_CPU_CYCLES				0x11
>>> +#define ARMV8_PMUV3_PERFCTR_BR_PRED				0x12
>>
>> In my initial review, I asked for the "required" events to be moved to a
>> shared location. What's the rational for moving absolutely everything?
> 
> I did notice the phrase "required" in the original email. However I
> think it is weird to have two places for a same set of PMU definitions.
> Other developers might think these two are missing if they don't search
> kernel files carefully.
> 
> If Will Deacon and you insist, I can move only two defs to perf_event.h,
> consolidated with the 2nd patch into a single one.

My personal feeling is that only architected events should be in a
public header. The CPU-specific ones are probably better kept private,
as it is doubtful that other users would appear).

I'll leave it up to Will to decide, as all I want to avoid is the
duplication of constants between the PMU and KVM code bases.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/2] arm64: perf: Move ARMv8 PMU perf event definitions to asm/perf_event.h
Date: Thu, 10 Nov 2016 15:32:12 +0000	[thread overview]
Message-ID: <733f067d-7f3b-df28-eab7-a15abba947fc@arm.com> (raw)
In-Reply-To: <d9ef10b9-44f2-b02e-9d90-02cf348aa49c@redhat.com>

On 10/11/16 15:12, Wei Huang wrote:
> 
> 
> On 11/10/2016 03:10 AM, Marc Zyngier wrote:
>> Hi Wei,
>>
>> On 09/11/16 19:57, Wei Huang wrote:
>>> This patch moves ARMv8-related perf event definitions from perf_event.c
>>> to asm/perf_event.h; so KVM code can use them directly. This also help
>>> remove a duplicated definition of SW_INCR in perf_event.h.
>>>
>>> Signed-off-by: Wei Huang <wei@redhat.com>
>>> ---
>>>  arch/arm64/include/asm/perf_event.h | 161 +++++++++++++++++++++++++++++++++++-
>>>  arch/arm64/kernel/perf_event.c      | 161 ------------------------------------
>>>  2 files changed, 160 insertions(+), 162 deletions(-)
>>>
>>> diff --git a/arch/arm64/include/asm/perf_event.h b/arch/arm64/include/asm/perf_event.h
>>> index 2065f46..6c7b18b 100644
>>> --- a/arch/arm64/include/asm/perf_event.h
>>> +++ b/arch/arm64/include/asm/perf_event.h
>>> @@ -46,7 +46,166 @@
>>>  #define	ARMV8_PMU_EVTYPE_MASK	0xc800ffff	/* Mask for writable bits */
>>>  #define	ARMV8_PMU_EVTYPE_EVENT	0xffff		/* Mask for EVENT bits */
>>>  
>>> -#define ARMV8_PMU_EVTYPE_EVENT_SW_INCR	0	/* Software increment event */
>>> +/*
>>> + * ARMv8 PMUv3 Performance Events handling code.
>>> + * Common event types.
>>> + */
>>> +
>>> +/* Required events. */
>>> +#define ARMV8_PMUV3_PERFCTR_SW_INCR				0x00
>>> +#define ARMV8_PMUV3_PERFCTR_L1D_CACHE_REFILL			0x03
>>> +#define ARMV8_PMUV3_PERFCTR_L1D_CACHE				0x04
>>> +#define ARMV8_PMUV3_PERFCTR_BR_MIS_PRED				0x10
>>> +#define ARMV8_PMUV3_PERFCTR_CPU_CYCLES				0x11
>>> +#define ARMV8_PMUV3_PERFCTR_BR_PRED				0x12
>>
>> In my initial review, I asked for the "required" events to be moved to a
>> shared location. What's the rational for moving absolutely everything?
> 
> I did notice the phrase "required" in the original email. However I
> think it is weird to have two places for a same set of PMU definitions.
> Other developers might think these two are missing if they don't search
> kernel files carefully.
> 
> If Will Deacon and you insist, I can move only two defs to perf_event.h,
> consolidated with the 2nd patch into a single one.

My personal feeling is that only architected events should be in a
public header. The CPU-specific ones are probably better kept private,
as it is doubtful that other users would appear).

I'll leave it up to Will to decide, as all I want to avoid is the
duplication of constants between the PMU and KVM code bases.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

  parent reply	other threads:[~2016-11-10 15:32 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-09 19:57 [PATCH 1/2] arm64: perf: Move ARMv8 PMU perf event definitions to asm/perf_event.h Wei Huang
2016-11-09 19:57 ` Wei Huang
2016-11-09 19:58 ` [PATCH 2/2] KVM: ARM64: Fix the issues when guest PMCCFILTR is configured Wei Huang
2016-11-09 19:58   ` Wei Huang
2016-11-09 19:58   ` Wei Huang
2016-11-10  1:05 ` [PATCH 1/2] arm64: perf: Move ARMv8 PMU perf event definitions to asm/perf_event.h kbuild test robot
2016-11-10  1:05   ` kbuild test robot
2016-11-10  9:10 ` Marc Zyngier
2016-11-10  9:10   ` Marc Zyngier
2016-11-10  9:10   ` Marc Zyngier
2016-11-10 15:12   ` Wei Huang
2016-11-10 15:12     ` Wei Huang
2016-11-10 15:29     ` Mark Rutland
2016-11-10 15:29       ` Mark Rutland
2016-11-10 15:32     ` Marc Zyngier [this message]
2016-11-10 15:32       ` Marc Zyngier
2016-11-10 17:17       ` Will Deacon
2016-11-10 17:17         ` Will Deacon
2016-11-10 17:17         ` Will Deacon
2016-11-10 18:09         ` Wei Huang
2016-11-10 18:09           ` Wei Huang
2016-11-10 18:09           ` Wei Huang

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=733f067d-7f3b-df28-eab7-a15abba947fc@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=catalin.marinas@arm.com \
    --cc=christoffer.dall@linaro.org \
    --cc=cov@codeaurora.org \
    --cc=drjones@redhat.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=mark.rutland@arm.com \
    --cc=shannon.zhao@linaro.org \
    --cc=wei@redhat.com \
    --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.