[PATCH v5 0/2] Add gputop support for sysfs profiling knob
Adrián Larumbe
adrian.larumbe at collabora.com
Tue Jul 16 20:57:22 UTC 2024
Some GPUs like Panfrost need a sysfs file to be toggled before the HW can
initiate the job accounting necessary to feed fdinfo with engine and cycle
data. This sysfs knob has to be disabled when the profiler is done, to save
power.
Changelog:
v5:
- Deleted unnecesary blank line and added Ack tags
v4:
- Improve error handling *igt_devices_profiled
- Changed name of some symbols to better reflect their semantics
- Changed header with copyright notice
- Added documentation for public functions in igt_profiling.c
v3:
- Created separate lib_igt_profiling to avoid dynamic linking
of gputop with igt_lib, which also meant isolating the functions
therein from the rest of igt_lib.
- Make gputop check the sysfs knob state at the end of every period
in case other instances of itself or other profilers might have
changed it, so that the knob can be returned to its original state.
v2:
- Added header file guards around igt_profiling.h
- Modified licensing information to comply with SPDX format
- Sorted included header files in alphabetic order
- Added volatile qualifier to gputop stop variable
Adrián Larumbe (2):
lib: Add DRM driver sysfs profiling knob toggling functions
tools/gputop: toggle sysfs profiling knob if available for device
lib/igt_profiling.c | 189 ++++++++++++++++++++++++++++++++++++++++++++
lib/igt_profiling.h | 22 ++++++
lib/meson.build | 8 ++
tools/gputop.c | 33 +++++++-
tools/meson.build | 2 +-
5 files changed, 252 insertions(+), 2 deletions(-)
create mode 100644 lib/igt_profiling.c
create mode 100644 lib/igt_profiling.h
base-commit: a2ab0ec12ef447c96c67dc539813462b6b39f857
--
2.45.1
More information about the igt-dev
mailing list