[PATCH i-g-t v2 00/21] gputop: Add support for xe
Lucas De Marchi
lucas.demarchi at intel.com
Tue Apr 23 23:44:10 UTC 2024
v2 of https://lore.kernel.org/all/20240405060056.59379-1-lucas.demarchi@intel.com/
This contains all the patches I had pending for igt to add support in
gputop for the xe driver.
Not all of the patches are critical, some are more on the category
"drive by improvements/fixes". Let me split them for ease of review:
Patches 1-6: already reviewed in previous version, but needed to
refactor them a little bit to detangle them from other patches. I kept
the previous R-b for those.
Patches 7-10: these were already in the previous version as well, but in
a more noisy approach. This new version tries not to change multiple
times the same part of the code.
Tvrtko, worth noting that patches 7-10 still contain the strstartwith()
rather than find_kv(). I did try adding find_kv() back but due to that
function not inlining the strlen() was being computed again and again. I
decided to keep as is so could move to the more important part. Maybe we
can try something else on top.
Patches 11-16 implement the new interface from the kernel. Difference
from v1 is that it's now using the drm-cycles + drm-total-cycles
suggested in the kernel side review. The state tracking is a little bit
heavier due to having to handle 2 keys, possibly appearing in different
order and at the same time decide what strategy to use (drm-engine vs
drm-cycles). However with the additional renames I think this is much
cleaner than v1.
Patches 17-21 are gputop improvements to the visualization and
performance: last patch with lazy stat is back from an older series, now
with proper performance measurements.
Lucas De Marchi (21):
lib/igt_drm_fdinfo: Fix wrong name len assert
lib/igt_drm_fdinfo: Assert pdev is not truncated
lib/igt_drm_fdinfo: Detect invalid drm-client-id
lib/igt_drm_fdinfo: Stop ignoring space where not needed
gputop: Extract method to update console size
gputop: Extract clrscr()
lib/igt_drm_fdinfo: Extract ignore_space()
lib/igt_drm_fdinfo: Allow any number of spaces before unit
lib/igt_drm_fdinfo: Stop passing key twice
lib/igt_drm_fdinfo: Remove prefix arg from parse functions
lib/igt_drm_fdinfo: Parse drm-cycles
lib/igt_drm_fdinfo: Parse drm-total-cycles
lib/igt_drm_clients: Rename engine busyness variables
lib/igt_drm_clients: Move engine fields to substruct
lib/igt_drm_clients: Record total cycles
gputop: Add support to drm-cycles/drm-total-cycles
gputop: print percentage number
gputop: Add option parsing
gputop: Allow to limit number of executions
gputop: Allow to set delay interval
lib/igt_drm_clients: lazy stat process
lib/igt_core.h | 1 +
lib/igt_drm_clients.c | 106 ++++++++++++++++----------
lib/igt_drm_clients.h | 9 ++-
lib/igt_drm_fdinfo.c | 172 ++++++++++++++++++++++++------------------
lib/igt_drm_fdinfo.h | 12 +++
tools/gputop.c | 142 +++++++++++++++++++++++++++++-----
tools/intel_gpu_top.c | 15 ++--
7 files changed, 315 insertions(+), 142 deletions(-)
--
2.43.0
More information about the igt-dev
mailing list