|
|
Subscribe / Log in / New account

Panthor BO tagging and GEMS debug display

From:  Adrián Larumbe <adrian.larumbe-AT-collabora.com>
To:  Boris Brezillon <boris.brezillon-AT-collabora.com>, Steven Price <steven.price-AT-arm.com>, Liviu Dudau <liviu.dudau-AT-arm.com>, Maarten Lankhorst <maarten.lankhorst-AT-linux.intel.com>, Maxime Ripard <mripard-AT-kernel.org>, Thomas Zimmermann <tzimmermann-AT-suse.de>, David Airlie <airlied-AT-gmail.com>, Simona Vetter <simona-AT-ffwll.ch>, Sumit Semwal <sumit.semwal-AT-linaro.org>, Christian König <christian.koenig-AT-amd.com>
Subject:  [PATCH v5 0/4] Panthor BO tagging and GEMS debug display
Date:  Tue, 08 Apr 2025 23:24:20 +0100
Message-ID:  <20250408222427.1214330-1-adrian.larumbe@collabora.com>
Cc:  kernel-AT-collabora.com, Adrián Larumbe <adrian.larumbe-AT-collabora.com>, dri-devel-AT-lists.freedesktop.org, linux-kernel-AT-vger.kernel.org, linux-media-AT-vger.kernel.org, linaro-mm-sig-AT-lists.linaro.org
Archive-link:  Article

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...

Discussion of previous revision of this patch series can be found at:
https://lore.kernel.org/dri-devel/20250402115432.1469703-...

Changelog:
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    | 210 ++++++++++++++++++++++-
 drivers/gpu/drm/panthor/panthor_gem.h    |  86 +++++++++-
 drivers/gpu/drm/panthor/panthor_heap.c   |   6 +-
 drivers/gpu/drm/panthor/panthor_sched.c  |   9 +-
 include/uapi/drm/panthor_drm.h           |  19 ++
 9 files changed, 411 insertions(+), 11 deletions(-)

--
2.48.1



Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds