[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210512163824.255370-1-kjain@linux.ibm.com>
Date: Wed, 12 May 2021 22:08:20 +0530
From: Kajol Jain <kjain@...ux.ibm.com>
To: mpe@...erman.id.au, linuxppc-dev@...ts.ozlabs.org,
linux-nvdimm@...ts.01.org, linux-kernel@...r.kernel.org
Cc: maddy@...ux.vnet.ibm.com, santosh@...six.org,
aneesh.kumar@...ux.ibm.com, vaibhav@...ux.ibm.com,
dan.j.williams@...el.com, ira.weiny@...el.com,
atrajeev@...ux.vnet.ibm.com, kjain@...ux.ibm.com,
peterz@...radead.org, tglx@...utronix.de
Subject: [RFC 0/4] Add perf interface to expose nvdimm performance stats
Patchset adds performance stats reporting support for nvdimm.
Added interface includes support for a pmu register function and
callbacks to be used by arch/platform specific drivers.
User could use standard perf tool to access perf events exposed via pmu.
Patchset adds a structure called nvdimm_pmu which can
be used to add platform specific data like supported event list and
callbacks to pmu functions like event_init/add/delete/read.
Patchset includes an implements the to expose IBM pseries platform nmem*
device performance stats using this interface.
Result from power9 pseries lpar with 2 nvdimm device:
command:# perf list nmem
nmem0/cchrhcnt/ [Kernel PMU event]
nmem0/cchwhcnt/ [Kernel PMU event]
nmem0/critrscu/ [Kernel PMU event]
nmem0/ctlresct/ [Kernel PMU event]
nmem0/ctlrestm/ [Kernel PMU event]
nmem0/fastwcnt/ [Kernel PMU event]
nmem0/hostlcnt/ [Kernel PMU event]
nmem0/hostldur/ [Kernel PMU event]
nmem0/hostscnt/ [Kernel PMU event]
nmem0/hostsdur/ [Kernel PMU event]
nmem0/medrcnt/ [Kernel PMU event]
nmem0/medrdur/ [Kernel PMU event]
nmem0/medwcnt/ [Kernel PMU event]
nmem0/medwdur/ [Kernel PMU event]
nmem0/memlife/ [Kernel PMU event]
nmem0/noopstat/ [Kernel PMU event]
nmem0/ponsecs/ [Kernel PMU event]
nmem1/cchrhcnt/ [Kernel PMU event]
nmem1/cchwhcnt/ [Kernel PMU event]
nmem1/critrscu/ [Kernel PMU event]
...
nmem1/noopstat/ [Kernel PMU event]
nmem1/ponsecs/ [Kernel PMU event]
Patch1:
Introduces the nvdimm_pmu structure, common function for pmu
register along with callback routine check.
Pacth2
Add code in arch/powerpc/platform/pseries/papr_scm.c to expose
nmem* pmu. It fills in the nvdimm_pmu structure with event attrs
and event callback functions and then registers the pmu by adding
callback to register_nvdimm_pmu.
Patch3:
Sysfs documentation patch
Patch4:
Adds cpuhotplug support.
Kajol Jain (4):
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
powerpc/papr_scm: Add cpu hotplug support for nvdimm pmu device
Documentation/ABI/testing/sysfs-bus-papr-pmem | 31 ++
arch/powerpc/include/asm/device.h | 5 +
arch/powerpc/platforms/pseries/papr_scm.c | 346 +++++++++++++++++-
drivers/nvdimm/Makefile | 1 +
drivers/nvdimm/nd_perf.c | 111 ++++++
include/linux/nd.h | 31 ++
6 files changed, 524 insertions(+), 1 deletion(-)
create mode 100644 drivers/nvdimm/nd_perf.c
--
2.27.0
Powered by blists - more mailing lists