mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: James Clark <james.clark@arm.com>,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	linux-arm-kernel@lists.infradead.org
Cc: Will Deacon <will@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] driver: perf: arm_pmu: Drop some unused arguments from armv8_pmu_init()
Date: Tue, 10 Oct 2023 12:59:30 +0100	[thread overview]
Message-ID: <c710e88c-b5d6-402a-95d0-fb6ced726d3a@arm.com> (raw)
In-Reply-To: <896fc51e-2c74-29f7-2c7e-f14f29c401a4@arm.com>

On 09/10/2023 10:17 am, James Clark wrote:
> 
> 
> On 09/10/2023 04:56, Anshuman Khandual wrote:
>> There is just a single call site remaining for armv8_pmu_init(), passing on
>> NULL pointers for all custom 'struct attribute_group'. These arguments are
>> not really getting used and hence can just be dropped off, thus simplifying
>> the code further.
>>
>> Cc: Will Deacon <will@kernel.org>
>> Cc: Mark Rutland <mark.rutland@arm.com>
>> Cc: linux-arm-kernel@lists.infradead.org
>> Cc: linux-kernel@vger.kernel.org
>> Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
>> ---
>> This applies on v6.6-rc5.
>>
>>   drivers/perf/arm_pmuv3.c | 17 +++++------------
>>   1 file changed, 5 insertions(+), 12 deletions(-)
>>
>> diff --git a/drivers/perf/arm_pmuv3.c b/drivers/perf/arm_pmuv3.c
>> index 8fcaa26f0f8a..fe4db1831662 100644
>> --- a/drivers/perf/arm_pmuv3.c
>> +++ b/drivers/perf/arm_pmuv3.c
>> @@ -1187,10 +1187,7 @@ static void armv8_pmu_register_sysctl_table(void)
>>   }
>>   
>>   static int armv8_pmu_init(struct arm_pmu *cpu_pmu, char *name,
>> -			  int (*map_event)(struct perf_event *event),
>> -			  const struct attribute_group *events,
>> -			  const struct attribute_group *format,
>> -			  const struct attribute_group *caps)
>> +			  int (*map_event)(struct perf_event *event))
>>   {
>>   	int ret = armv8pmu_probe_pmu(cpu_pmu);
>>   	if (ret)
>> @@ -1212,13 +1209,9 @@ static int armv8_pmu_init(struct arm_pmu *cpu_pmu, char *name,
>>   
>>   	cpu_pmu->name			= name;
>>   	cpu_pmu->map_event		= map_event;
>> -	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] = events ?
>> -			events : &armv8_pmuv3_events_attr_group;
>> -	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] = format ?
>> -			format : &armv8_pmuv3_format_attr_group;
>> -	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_CAPS] = caps ?
>> -			caps : &armv8_pmuv3_caps_attr_group;
>> -
>> +	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_EVENTS] = &armv8_pmuv3_events_attr_group;
>> +	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_FORMATS] = &armv8_pmuv3_format_attr_group;
>> +	cpu_pmu->attr_groups[ARMPMU_ATTR_GROUP_CAPS] = &armv8_pmuv3_caps_attr_group;
>>   	armv8_pmu_register_sysctl_table();
>>   	return 0;
>>   }
>> @@ -1226,7 +1219,7 @@ static int armv8_pmu_init(struct arm_pmu *cpu_pmu, char *name,
>>   static int armv8_pmu_init_nogroups(struct arm_pmu *cpu_pmu, char *name,
>>   				   int (*map_event)(struct perf_event *event))
>>   {
>> -	return armv8_pmu_init(cpu_pmu, name, map_event, NULL, NULL, NULL);
>> +	return armv8_pmu_init(cpu_pmu, name, map_event);
> 
> I think the whole point of the nogroups wrapper was to add the NULLs. If
> you remove them, then you can remove the nogroups function too and just
> call armv8_pmu_init() directly instead.

Indeed the "nogroups" wrapper is entirely meaningless if the callee no 
longer accepts groups anyway.

> And as it wasn't clear why they were there in the first place, I went to
> look and found this (e424b17) :
> 
>    Although nobody uses non-default sysfs attributes today, there's
>    minimal impact to preserving the notion that maybe, some day, somebody
>    might, so we may as well keep up appearances.
> 
> It might be worth mentioning that the decision has now been made in the
> other way.

Right, the intent at the time was very much just a cosmetic cleanup to 
help readability and simplify adding new PMU names, and rather 
deliberately stepping around the question of making material changes to 
the interface itself. If we've reached the point where we're happy to 
agree that consistency with the PMUv2 code is no longer helpful to 
continuing development of the PMUv3 code, then *that* would be the 
fundamental point of this change.

Thanks,
Robin.

  parent reply	other threads:[~2023-10-10 11:59 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-10-09  3:56 Anshuman Khandual
2023-10-09  9:17 ` James Clark
2023-10-10  2:36   ` Anshuman Khandual
2023-10-10 11:59   ` Robin Murphy [this message]
2023-10-12 11:11     ` Anshuman Khandual

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=c710e88c-b5d6-402a-95d0-fb6ced726d3a@arm.com \
    --to=robin.murphy@arm.com \
    --cc=anshuman.khandual@arm.com \
    --cc=james.clark@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=will@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

all inboxes | Powered by JetHome®