[PATCH 0/1] dmaengine: idxd: IDXD pmu support

From: Tom Zanussi
Date: Fri Apr 02 2021 - 12:50:21 EST


Hi,

This patchset implements initial pmu support for the Intel DSA (Data
Streaming Accelerator [1]), which I'm hoping can go into 5.13.

I'm also hoping to supply a couple follow-on patches in the near
future, but I'm not yet sure how much sense they make, so I thought
I'd throw a couple ideas out there and maybe get some opinions before
going forward with them:

- The perf userspace interface for this isn't exactly user-friedly,
in that you currently need to specify numeric values for field
values:

# perf stat -e dsa0/filter_wq=0x1,filter_tc=0x1,filter_sz=0x7,
filter_eng=0x1,event=0x8,event_category=0x3/

It would be nicer to be able to specify those values symbolically
instead, and the way to do that seems to be via some JSON files in
perf userspace.

- Some of the DSA pmu support is patterned after existing uncore
code, and there seems to be at least some opportunity to
consolidate some of the things they both do into common code, such
as the cpumask device attributes and related cpu hotplug support.
At this point I'm not sure how much sense it makes to put any
effort into that, but would be willing to try if there would be
some interest in it, especially considering there will probably be
future pmu support added that could benefit from it.

Thanks,

Tom

[1]: https://software.intel.com/content/www/us/en/develop/download/intel-data-streaming-accelerator-preliminary-architecture-specification.html

Tom Zanussi (1):
dmaengine: idxd: Add IDXD performance monitor support

drivers/dma/Kconfig | 13 +
drivers/dma/idxd/Makefile | 2 +
drivers/dma/idxd/idxd.h | 45 +++
drivers/dma/idxd/init.c | 9 +
drivers/dma/idxd/irq.c | 5 +-
drivers/dma/idxd/perfmon.c | 661 +++++++++++++++++++++++++++++++++++
drivers/dma/idxd/perfmon.h | 119 +++++++
drivers/dma/idxd/registers.h | 108 ++++++
include/linux/cpuhotplug.h | 1 +
9 files changed, 959 insertions(+), 4 deletions(-)
create mode 100644 drivers/dma/idxd/perfmon.c
create mode 100644 drivers/dma/idxd/perfmon.h

--
2.17.1