Re: [PATCH v2 0/4] Add perf interface to expose nvdimm

From: kajoljain
Date: Thu Jun 17 2021 - 02:33:49 EST




On 6/16/21 4:25 PM, Nageswara Sastry wrote:
>
>
>> On 14-Jun-2021, at 10:53 AM, Kajol Jain <kjain@xxxxxxxxxxxxx> wrote:
>>
>> Patchset adds performance stats reporting support for nvdimm.
>> Added interface includes support for pmu register/unregister
>> functions. A structure is added called nvdimm_pmu to be used for
>> adding arch/platform specific data such as supported events, cpumask
>> pmu event functions like event_init/add/read/del.
>> User could use the standard perf tool to access perf
>> events exposed via pmu.
>>
>> Added implementation to expose IBM pseries platform nmem*
>> device performance stats using this interface.
>> ...
>>
>> Patch1:
>> Introduces the nvdimm_pmu structure
>> Patch2:
>> Adds common interface to add arch/platform specific data
>> includes supported events, pmu event functions. It also
>> adds code for cpu hotplug support.
>> Patch3:
>> Add code in arch/powerpc/platform/pseries/papr_scm.c to expose
>> nmem* pmu. It fills in the nvdimm_pmu structure with event attrs
>> cpumask andevent functions and then registers the pmu by adding
>> callbacks to register_nvdimm_pmu.
>> Patch4:
>> Sysfs documentation patch
>
> Tested with the following scenarios:
> 1. Check dmesg for nmem PMU registered messages.
> 2. Listed nmem events using 'perf list and perf list nmem'
> 3. Ran 'perf stat' with single event, grouping events, events from same pmu,
> different pmu and invalid events
> 4. Read from sysfs files, Writing in to sysfs files
> 5. While running nmem events with perf stat, offline cpu from the nmem?/cpumask
>
> While running the above functionality worked as expected, no error messages seen
> in dmesg.
>
> Tested-by: Nageswara R Sastry <rnsastry@xxxxxxxxxxxxx>

Hi Nageswara,
Thanks for testing the patch-set.
There is a nit change which need to be done in patch 4(Documentation patch).
We need to update nvdimm mailing list from linux-nvdimm@xxxxxxxxxxxx to
nvdimm@xxxxxxxxxxxxxxx.
I will make this change and send a new patch-set with your tested-by tag.

Thanks,
Kajol Jain

>
>>
>> Changelog
>> ---
>> PATCH v1 -> PATCH v2
>> - Fix hotplug code by adding pmu migration call
>> incase current designated cpu got offline. As
>> pointed by Peter Zijlstra.
>>
>> - Removed the retun -1 part from cpu hotplug offline
>> function.
>>
>> - Link to the previous patchset : https://lkml.org/lkml/2021/6/8/500
>> ---
>> Kajol Jain (4):
>> drivers/nvdimm: Add nvdimm pmu structure
>> drivers/nvdimm: Add perf interface to expose nvdimm performance stats
>> powerpc/papr_scm: Add perf interface support
>> powerpc/papr_scm: Document papr_scm sysfs event format entries
>>
>> Documentation/ABI/testing/sysfs-bus-papr-pmem | 31 ++
>> arch/powerpc/include/asm/device.h | 5 +
>> arch/powerpc/platforms/pseries/papr_scm.c | 365 ++++++++++++++++++
>> drivers/nvdimm/Makefile | 1 +
>> drivers/nvdimm/nd_perf.c | 230 +++++++++++
>> include/linux/nd.h | 46 +++
>> 6 files changed, 678 insertions(+)
>> create mode 100644 drivers/nvdimm/nd_perf.c
>>
> Thanks and Regards,
> R.Nageswara Sastry
>
>>
>