Message ID | 20210614052326.285710-1-kjain@linux.ibm.com (mailing list archive) |
---|---|
Headers | show |
Series | Add perf interface to expose nvdimm | expand |
> On 14-Jun-2021, at 10:53 AM, Kajol Jain <kjain@linux.ibm.com> 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@linux.ibm.com> > > 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 >
On 6/16/21 4:25 PM, Nageswara Sastry wrote: > > >> On 14-Jun-2021, at 10:53 AM, Kajol Jain <kjain@linux.ibm.com> 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@linux.ibm.com> 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@lists.01.org to nvdimm@lists.linux.dev. 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 > >> >