[PATCH v6 0/4] Panthor BO tagging and GEMS debug display

Adrián Larumbe posted 4 patches 10 months ago
There is a newer version of this series
drivers/gpu/drm/panthor/panthor_device.c |   5 +
drivers/gpu/drm/panthor/panthor_device.h |  11 ++
drivers/gpu/drm/panthor/panthor_drv.c    |  68 ++++++-
drivers/gpu/drm/panthor/panthor_fw.c     |   8 +-
drivers/gpu/drm/panthor/panthor_gem.c    | 229 ++++++++++++++++++++++-
drivers/gpu/drm/panthor/panthor_gem.h    |  80 +++++++-
drivers/gpu/drm/panthor/panthor_heap.c   |   6 +-
drivers/gpu/drm/panthor/panthor_sched.c  |   9 +-
include/uapi/drm/panthor_drm.h           |  23 +++
9 files changed, 428 insertions(+), 11 deletions(-)
[PATCH v6 0/4] Panthor BO tagging and GEMS debug display
Posted by Adrián Larumbe 10 months ago
This patch series is aimed at providing UM with detailed memory profiling
information in debug builds. It is achieved through a device-wide list of
DRM GEM objects, and also implementing the ability to label BO's from UM
through a new IOCTL.

The new debugfs file shows a list of driver DRM GEM objects in tabular mode.
To visualise it, cat sudo cat /sys/kernel/debug/dri/*.gpu/gems.
To test this functionality from UM, please refer to this Mesa patch series:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34224

Discussion of previous revision of this patch series can be found at:
https://lore.kernel.org/dri-devel/20250408222427.1214330-1-adrian.larumbe@collabora.com/T/#t

Changelog:
v6:
 - Replaced some mutex calls with scoped guards
 - Documented data size limits in the label ioctl
 - Simplified GEMS status flags treatment (Panthor doesn't use madvise)
 - Fixed some array size and string bugs
 - Improved the naming of GEM status and usage flags to reflect their meaning
 - Improved the formatting of the output table

v5:
 - Kept case and naming of kernel BO's consistent
 - Increased the driver minor after new ioctl
 - Now adds BO to debugfs GEMs list at GEM object creation time
 - No longer try to hide BO creator's name when it's a workqueue or modprobe
 - Reworked the procedure for printing GEM state and kernel BO flags
 - Turned kernel BO flags and GEM state flags into bit enums
 - Wait until BO state is marked as initialied for debugfs display

v4:
 - Labelled all kernel BO's, not just heap chunks.
 - Refactored DebugGFs GEMs list handling functions
 - Added debugfs GEMS node mask to tell different kinds of BO's

Adrián Larumbe (4):
  drm/panthor: Introduce BO labeling
  drm/panthor: Add driver IOCTL for setting BO labels
  drm/panthor: Label all kernel BO's
  drm/panthor: show device-wide list of DRM GEM objects over DebugFS

 drivers/gpu/drm/panthor/panthor_device.c |   5 +
 drivers/gpu/drm/panthor/panthor_device.h |  11 ++
 drivers/gpu/drm/panthor/panthor_drv.c    |  68 ++++++-
 drivers/gpu/drm/panthor/panthor_fw.c     |   8 +-
 drivers/gpu/drm/panthor/panthor_gem.c    | 229 ++++++++++++++++++++++-
 drivers/gpu/drm/panthor/panthor_gem.h    |  80 +++++++-
 drivers/gpu/drm/panthor/panthor_heap.c   |   6 +-
 drivers/gpu/drm/panthor/panthor_sched.c  |   9 +-
 include/uapi/drm/panthor_drm.h           |  23 +++
 9 files changed, 428 insertions(+), 11 deletions(-)

--
2.48.1