Thread (7 messages) 7 messages, 2 authors, 2021-06-17

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

From: kajoljain <hidden>
Date: 2021-06-17 06:33:49
Also in: lkml, nvdimm


On 6/16/21 4:25 PM, Nageswara Sastry wrote:
quoted
On 14-Jun-2021, at 10:53 AM, Kajol Jain [off-list ref] 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 <redacted>
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
quoted
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
quoted
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help