[PATCH v6 0/2] Add gputop support for sysfs profiling knob

Adrián Larumbe adrian.larumbe at collabora.com
Thu Jul 18 13:58:08 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:
v6:
 - Deleted spurious line
 - Changed license identifier comment style in header file
 - Added some ack tags to th commits
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      |  32 +++++++-
 tools/meson.build   |   2 +-
 5 files changed, 251 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