On Tue, Mar 31, 2026 at 8:53 AM Lizhi Hou <[email protected]> wrote: > > > On 3/30/26 19:30, Ian Rogers wrote: > > On Wed, Mar 25, 2026 at 11:47 AM Lizhi Hou <[email protected]> wrote: > >> Applied to drm-misc-next. > >> > >> On 3/24/26 10:01, Mario Limonciello wrote: > >>> > >>> On 3/24/26 11:31, Lizhi Hou wrote: > >>>> From: Max Zhen <[email protected]> > >>>> > >>>> Add support for querying per-process buffer object (BO) memory > >>>> usage through the amdxdna GET_ARRAY UAPI. > >>>> > >>>> Introduce a new query type, DRM_AMDXDNA_BO_USAGE, along with > >>>> struct amdxdna_drm_bo_usage to report BO memory usage statistics, > >>>> including heap, total, and internal usage. > >>>> > >>>> Track BO memory usage on a per-client basis by maintaining counters > >>>> in GEM open/close and heap allocation/free paths. This ensures the > >>>> reported statistics reflect the current memory footprint of each > >>>> process. > >>>> > >>>> Wire the new query into the GET_ARRAY implementation to expose > >>>> the usage information to userspace. > >>>> > >>>> Signed-off-by: Max Zhen <[email protected]> > >>>> Reviewed-by: Lizhi Hou <[email protected]> > >>>> Signed-off-by: Lizhi Hou <[email protected]> > >>> I'm assuming you also have userspace side ready for this too right? > >>> If you have a link handy can you please include it when committing. > > Sorry for a naive question, would support in procfs be possible? > > Do you mean fdinfo? And yes, the fdinfo is in our upstream stack. I will > post the patch later.
That's great! I did mean fdinfo. I'd be interested to see the patch, and possibly the strings matched in perf need updating: https://web.git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/util/drm_pmu.c?h=perf-tools-next#n183 Thanks, Ian > Lizhi > > > There's support in perf for displaying DRM usage stat data from there > > [1], for example: > > ``` > > $ perf list drm- > > > > List of pre-defined events (to be used in -e or -M): > > > > > > drm: > > drm-active-stolen-system0 > > [Total memory active in one or more engines. Unit: drm_i915] > > drm-active-system0 > > [Total memory active in one or more engines. Unit: drm_i915] > > drm-engine-capacity-video > > [Engine capacity. Unit: drm_i915] > > drm-engine-copy > > [Utilization in ns. Unit: drm_i915] > > drm-engine-render > > [Utilization in ns. Unit: drm_i915] > > drm-engine-video > > [Utilization in ns. Unit: drm_i915] > > drm-engine-video-enhance > > [Utilization in ns. Unit: drm_i915] > > drm-purgeable-stolen-system0 > > [Size of resident and purgeable memory buffers. Unit: drm_i915] > > drm-purgeable-system0 > > [Size of resident and purgeable memory buffers. Unit: drm_i915] > > drm-resident-stolen-system0 > > [Size of resident memory buffers. Unit: drm_i915] > > drm-resident-system0 > > [Size of resident memory buffers. Unit: drm_i915] > > drm-shared-stolen-system0 > > [Size of shared memory buffers. Unit: drm_i915] > > drm-shared-system0 > > [Size of shared memory buffers. Unit: drm_i915] > > drm-total-stolen-system0 > > [Size of shared and private memory. Unit: drm_i915] > > drm-total-system0 > > [Size of shared and private memory. Unit: drm_i915] > > > > > > $ perf stat -e drm-engine-render -a sleep 1 > > > > Performance counter stats for 'system wide': > > > > 557,542,732,344 ns drm-engine-render > > > > 1.001575975 seconds time elapsed > > ``` > > > > Thanks, > > Ian > > > > [1] https://lore.kernel.org/lkml/[email protected]/
