[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1c2965b5-28f7-e80e-250e-200d189d5eec@amd.com>
Date: Wed, 13 Dec 2023 19:25:14 +0530
From: Ravi Bangoria <ravi.bangoria@....com>
To: Leo Yan <leo.yan@...aro.org>,
"Liang, Kan" <kan.liang@...ux.intel.com>
Cc: acme@...nel.org, irogers@...gle.com, peterz@...radead.org,
mingo@...hat.com, namhyung@...nel.org, jolsa@...nel.org,
adrian.hunter@...el.com, john.g.garry@...cle.com, will@...nel.org,
james.clark@....com, mike.leach@...aro.org,
yuhaixin.yhx@...ux.alibaba.com, renyu.zj@...ux.alibaba.com,
tmricht@...ux.ibm.com, linux-kernel@...r.kernel.org,
linux-perf-users@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
Ravi Bangoria <ravi.bangoria@....com>
Subject: Re: [PATCH V2 4/5] perf mem: Clean up perf_mem_event__supported()
>>>> For some ARCHs, e.g., ARM and AMD, to get the availability of the
>>>> mem-events, perf checks the existence of a specific PMU. For the other
>>>> ARCHs, e.g., Intel and Power, perf has to check the existence of some
>>>> specific events.
>>>>
>>>> The current perf only iterates the mem-events-supported PMUs. It's not
>>>> required to check the existence of a specific PMU anymore.
>>>
>>> With this change, both Arm and AMD archs have no chance to detect if the
>>> hardware (or the device driver) is supported and the tool will always
>>> take the memory events are exited on the system, right?
>>
>> Currently, the Arm and AMD only check the specific PMU. If the PMU is
>> detected, the memory events are supported. The patch set doesn't change
>> it. It just moves the check to perf_pmu__arch_init(). When the specific
>> PMU is initialized, the mem_events is assigned. You don't need to do
>> runtime sysfs check. It should be an improvement for ARM and AMD.
>
> Okay, I understand now. For Arm SPE, it has a dedicated PMU so if the
> PMU is detected, then we can assume the memory events are supported.
Same for AMD. If ibs_op// pmu is present, the mem event is supported.
Thanks,
Ravi
Powered by blists - more mailing lists