[PATCH v2 0/4] Improve PTT filter interface

From: Yicong Yang
Date: Fri Mar 31 2023 - 03:04:34 EST


From: Yicong Yang <yangyicong@xxxxxxxxxxxxx>

This series tends to improve the PTT's filter interface in 2 aspects (Patch 2&3):
- Support dynamically filter updating to response to hotplug
Previous the supported filter list is settled down once the driver probed and
it maybe out-of-date if hotplug events happen later. User need to reload the
driver to update list. Patch 1/2 enable the driver to update the list by
registering a PCI bus notifier and the filter list will always be the latest.
- Export the available filters through sysfs
Previous user needs to calculate the filters and filter value using device's
BDF number, which requires the user to know the hardware well. Patch 3/3 tends
to export the available filter information through sysfs attributes, the filter
value will be gotten by reading the file. This will be more user friendly.

In order to support above function, this series also includes a patch 1/4 to factor
out the allocation and release function of PTT filters.

Also includes an improvement. Patch 4 tends to set proper PMU capability to avoid
collecting unnecessary data to save the storage.

Change since v1:
- Drop the patch for handling the cpumask since it seems to be redundant
- Refine of the codes per Jonathan
- Add Patch 1/4 for refactor the filters allocation and release
- Thanks the review of Jonathan.
Link: https://lore.kernel.org/linux-pci/d496ee4f-641a-a726-ab3f-62b587422b61@xxxxxxxxxx/T/#m47e4de552d69920035214b3e91080cdc185f61f5

Yicong Yang (4):
hwtracing: hisi_ptt: Factor out filter allocation and release
operation
hwtracing: hisi_ptt: Add support for dynamically updating the filter
list
hwtracing: hisi_ptt: Export available filters through sysfs
hwtracing: hisi_ptt: Advertise PERF_PMU_CAP_NO_EXCLUDE for PTT PMU

.../ABI/testing/sysfs-devices-hisi_ptt | 50 +++
Documentation/trace/hisi-ptt.rst | 12 +-
drivers/hwtracing/ptt/hisi_ptt.c | 421 ++++++++++++++++--
drivers/hwtracing/ptt/hisi_ptt.h | 52 +++
4 files changed, 506 insertions(+), 29 deletions(-)

--
2.24.0