A previous commit enabled display of driver-internal kernel BO sizes
through the device file's fdinfo interface.
Expand the description of the relevant driver-specific key:value pairs
with the definitions of the new drm-*-internal ones.
Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
---
Documentation/gpu/panthor.rst | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/Documentation/gpu/panthor.rst b/Documentation/gpu/panthor.rst
index 3f8979fa2b86..c6d8236e3665 100644
--- a/Documentation/gpu/panthor.rst
+++ b/Documentation/gpu/panthor.rst
@@ -26,6 +26,10 @@ the currently possible format options:
drm-cycles-panthor: 94439687187
drm-maxfreq-panthor: 1000000000 Hz
drm-curfreq-panthor: 1000000000 Hz
+ drm-total-internal: 10396 KiB
+ drm-shared-internal: 0
+ drm-active-internal: 10396 KiB
+ drm-resident-internal: 10396 KiB
drm-total-memory: 16480 KiB
drm-shared-memory: 0
drm-active-memory: 16200 KiB
@@ -44,3 +48,13 @@ driver by writing into the appropriate sysfs node::
Where `N` is a bit mask where cycle and timestamp sampling are respectively
enabled by the first and second bits.
+
+Possible `drm-*-internal` key names are: `total`, `active` and `resident`.
+These values convey the sizes of the internal driver-owned shmem BO's that
+aren't exposed to user-space through a DRM handle, like queue ring buffers,
+sync object arrays and heap chunks. Because they are all allocated and pinned
+at creation time, `drm-resident-internal` and `drm-total-internal` should always
+be equal. `drm-active-internal` shows the size of kernel BO's associated with
+VM's and groups currently being scheduled for execution by the GPU.
+`drm-shared-memory` is unused at present, but in the future it might stand for
+the size of the Firmware regions, since they do not belong to an open file context.
--
2.47.0
On Wed, Dec 11, 2024 at 04:34:32PM +0000, Adrián Larumbe wrote:
> A previous commit enabled display of driver-internal kernel BO sizes
> through the device file's fdinfo interface.
>
> Expand the description of the relevant driver-specific key:value pairs
> with the definitions of the new drm-*-internal ones.
>
> Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com>
> ---
> Documentation/gpu/panthor.rst | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/Documentation/gpu/panthor.rst b/Documentation/gpu/panthor.rst
> index 3f8979fa2b86..c6d8236e3665 100644
> --- a/Documentation/gpu/panthor.rst
> +++ b/Documentation/gpu/panthor.rst
> @@ -26,6 +26,10 @@ the currently possible format options:
> drm-cycles-panthor: 94439687187
> drm-maxfreq-panthor: 1000000000 Hz
> drm-curfreq-panthor: 1000000000 Hz
> + drm-total-internal: 10396 KiB
> + drm-shared-internal: 0
> + drm-active-internal: 10396 KiB
> + drm-resident-internal: 10396 KiB
> drm-total-memory: 16480 KiB
> drm-shared-memory: 0
> drm-active-memory: 16200 KiB
> @@ -44,3 +48,13 @@ driver by writing into the appropriate sysfs node::
>
> Where `N` is a bit mask where cycle and timestamp sampling are respectively
> enabled by the first and second bits.
> +
> +Possible `drm-*-internal` key names are: `total`, `active` and `resident`.
I think Mihail's comment stands. There is no harm in being thorough, so either
we list `shared` as a possible key name, or we remove it from the example and
re-introduce it later with a patch.
> +These values convey the sizes of the internal driver-owned shmem BO's that
> +aren't exposed to user-space through a DRM handle, like queue ring buffers,
> +sync object arrays and heap chunks. Because they are all allocated and pinned
> +at creation time, `drm-resident-internal` and `drm-total-internal` should always
> +be equal. `drm-active-internal` shows the size of kernel BO's associated with
> +VM's and groups currently being scheduled for execution by the GPU.
> +`drm-shared-memory` is unused at present, but in the future it might stand for
> +the size of the Firmware regions, since they do not belong to an open file context.
But there are firmware regions that are per context, like the save/restore buffers.
Also, I think we are creating confusion there between drm-shared-memory and
drm-shared-internal. I'm fine with having a note here regarding `drm-shared-memory`
as long as `drm-shared-internal` also gets a note to explain the difference with its
cousin.
Best regards,
Liviu
> --
> 2.47.0
>
--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
¯\_(ツ)_/¯
On 16.12.2024 14:25, Liviu Dudau wrote: > On Wed, Dec 11, 2024 at 04:34:32PM +0000, Adrián Larumbe wrote: > > A previous commit enabled display of driver-internal kernel BO sizes > > through the device file's fdinfo interface. > > > > Expand the description of the relevant driver-specific key:value pairs > > with the definitions of the new drm-*-internal ones. > > > > Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com> > > --- > > Documentation/gpu/panthor.rst | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/Documentation/gpu/panthor.rst b/Documentation/gpu/panthor.rst > > index 3f8979fa2b86..c6d8236e3665 100644 > > --- a/Documentation/gpu/panthor.rst > > +++ b/Documentation/gpu/panthor.rst > > @@ -26,6 +26,10 @@ the currently possible format options: > > drm-cycles-panthor: 94439687187 > > drm-maxfreq-panthor: 1000000000 Hz > > drm-curfreq-panthor: 1000000000 Hz > > + drm-total-internal: 10396 KiB > > + drm-shared-internal: 0 > > + drm-active-internal: 10396 KiB > > + drm-resident-internal: 10396 KiB > > drm-total-memory: 16480 KiB > > drm-shared-memory: 0 > > drm-active-memory: 16200 KiB > > @@ -44,3 +48,13 @@ driver by writing into the appropriate sysfs node:: > > > > Where `N` is a bit mask where cycle and timestamp sampling are respectively > > enabled by the first and second bits. > > + > > +Possible `drm-*-internal` key names are: `total`, `active` and `resident`. > > I think Mihail's comment stands. There is no harm in being thorough, so either > we list `shared` as a possible key name, or we remove it from the example and > re-introduce it later with a patch. I'll mention it here too, even though there is no way I can prevent 'drm-shared-internal' from being displayed because drm_print_memory_stats() is inflexible about this. > > +These values convey the sizes of the internal driver-owned shmem BO's that > > +aren't exposed to user-space through a DRM handle, like queue ring buffers, > > +sync object arrays and heap chunks. Because they are all allocated and pinned > > +at creation time, `drm-resident-internal` and `drm-total-internal` should always > > +be equal. `drm-active-internal` shows the size of kernel BO's associated with > > +VM's and groups currently being scheduled for execution by the GPU. > > +`drm-shared-memory` is unused at present, but in the future it might stand for > > +the size of the Firmware regions, since they do not belong to an open file context. > > But there are firmware regions that are per context, like the save/restore buffers. > Also, I think we are creating confusion there between drm-shared-memory and > drm-shared-internal. I'm fine with having a note here regarding `drm-shared-memory` > as long as `drm-shared-internal` also gets a note to explain the difference with its > cousin. This was a typo on my part, should've written 'drm-shared-internal' instead because the definition of drm-shared-memory is done in the documentation for the DRM fdinfo core. In the next revision, I'll also mention that the potential future meaning of drm-shared-internal could be the size of the executable FW regions to dispel any ambiguities. > Best regards, > Liviu > > > -- > > 2.47.0 > > > > -- > ==================== > | I would like to | > | fix the world, | > | but they're not | > | giving me the | > \ source code! / > --------------- > ¯\_(ツ)_/¯ Adrian Larumbe
Hi Adrián, On 11/12/2024 16:34, Adrián Larumbe wrote: > A previous commit enabled display of driver-internal kernel BO sizes > through the device file's fdinfo interface. > > Expand the description of the relevant driver-specific key:value pairs > with the definitions of the new drm-*-internal ones. > > Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com> > --- > Documentation/gpu/panthor.rst | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/Documentation/gpu/panthor.rst b/Documentation/gpu/panthor.rst > index 3f8979fa2b86..c6d8236e3665 100644 > --- a/Documentation/gpu/panthor.rst > +++ b/Documentation/gpu/panthor.rst > @@ -26,6 +26,10 @@ the currently possible format options: > drm-cycles-panthor: 94439687187 > drm-maxfreq-panthor: 1000000000 Hz > drm-curfreq-panthor: 1000000000 Hz > + drm-total-internal: 10396 KiB > + drm-shared-internal: 0 You give an example of `drm-shared-internal`... > + drm-active-internal: 10396 KiB > + drm-resident-internal: 10396 KiB > drm-total-memory: 16480 KiB > drm-shared-memory: 0 > drm-active-memory: 16200 KiB > @@ -44,3 +48,13 @@ driver by writing into the appropriate sysfs node:: > > Where `N` is a bit mask where cycle and timestamp sampling are respectively > enabled by the first and second bits. > + > +Possible `drm-*-internal` key names are: `total`, `active` and `resident`. ... but don't list it as a valid key name here. > +These values convey the sizes of the internal driver-owned shmem BO's that > +aren't exposed to user-space through a DRM handle, like queue ring buffers, > +sync object arrays and heap chunks. Because they are all allocated and pinned > +at creation time, `drm-resident-internal` and `drm-total-internal` should always > +be equal. `drm-active-internal` shows the size of kernel BO's associated with > +VM's and groups currently being scheduled for execution by the GPU. > +`drm-shared-memory` is unused at present, but in the future it might stand for > +the size of the Firmware regions, since they do not belong to an open file context. -- Mihail Atanassov <mihail.atanassov@arm.com>
Hi Mihail, On 11.12.2024 16:40, Mihail Atanassov wrote: > Hi Adrián, > > On 11/12/2024 16:34, Adrián Larumbe wrote: > > A previous commit enabled display of driver-internal kernel BO sizes > > through the device file's fdinfo interface. > > > > Expand the description of the relevant driver-specific key:value pairs > > with the definitions of the new drm-*-internal ones. > > > > Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com> > > --- > > Documentation/gpu/panthor.rst | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/Documentation/gpu/panthor.rst b/Documentation/gpu/panthor.rst > > index 3f8979fa2b86..c6d8236e3665 100644 > > --- a/Documentation/gpu/panthor.rst > > +++ b/Documentation/gpu/panthor.rst > > @@ -26,6 +26,10 @@ the currently possible format options: > > drm-cycles-panthor: 94439687187 > > drm-maxfreq-panthor: 1000000000 Hz > > drm-curfreq-panthor: 1000000000 Hz > > + drm-total-internal: 10396 KiB > > + drm-shared-internal: 0 > > You give an example of `drm-shared-internal`... > > > + drm-active-internal: 10396 KiB > > + drm-resident-internal: 10396 KiB > > drm-total-memory: 16480 KiB > > drm-shared-memory: 0 > > drm-active-memory: 16200 KiB > > @@ -44,3 +48,13 @@ driver by writing into the appropriate sysfs node:: > > Where `N` is a bit mask where cycle and timestamp sampling are respectively > > enabled by the first and second bits. > > + > > +Possible `drm-*-internal` key names are: `total`, `active` and `resident`. > > ... but don't list it as a valid key name here. I do mention slightly further below that that key:value pair is at the time being unused, but I've thought of a possible interpretation that could be part of another commit. > > +These values convey the sizes of the internal driver-owned shmem BO's that > > +aren't exposed to user-space through a DRM handle, like queue ring buffers, > > +sync object arrays and heap chunks. Because they are all allocated and pinned > > +at creation time, `drm-resident-internal` and `drm-total-internal` should always > > +be equal. `drm-active-internal` shows the size of kernel BO's associated with > > +VM's and groups currently being scheduled for execution by the GPU. > > +`drm-shared-memory` is unused at present, but in the future it might stand for > > +the size of the Firmware regions, since they do not belong to an open file context. > > -- > Mihail Atanassov <mihail.atanassov@arm.com> Adrian Larumbe
On 11/12/2024 17:02, Adrián Larumbe wrote: > Hi Mihail, > > On 11.12.2024 16:40, Mihail Atanassov wrote: >> Hi Adrián, >> >> On 11/12/2024 16:34, Adrián Larumbe wrote: >>> A previous commit enabled display of driver-internal kernel BO sizes >>> through the device file's fdinfo interface. >>> >>> Expand the description of the relevant driver-specific key:value pairs >>> with the definitions of the new drm-*-internal ones. >>> >>> Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com> >>> --- >>> Documentation/gpu/panthor.rst | 14 ++++++++++++++ >>> 1 file changed, 14 insertions(+) >>> >>> diff --git a/Documentation/gpu/panthor.rst b/Documentation/gpu/panthor.rst >>> index 3f8979fa2b86..c6d8236e3665 100644 >>> --- a/Documentation/gpu/panthor.rst >>> +++ b/Documentation/gpu/panthor.rst >>> @@ -26,6 +26,10 @@ the currently possible format options: >>> drm-cycles-panthor: 94439687187 >>> drm-maxfreq-panthor: 1000000000 Hz >>> drm-curfreq-panthor: 1000000000 Hz >>> + drm-total-internal: 10396 KiB >>> + drm-shared-internal: 0 >> >> You give an example of `drm-shared-internal`... >> >>> + drm-active-internal: 10396 KiB >>> + drm-resident-internal: 10396 KiB >>> drm-total-memory: 16480 KiB >>> drm-shared-memory: 0 >>> drm-active-memory: 16200 KiB >>> @@ -44,3 +48,13 @@ driver by writing into the appropriate sysfs node:: >>> Where `N` is a bit mask where cycle and timestamp sampling are respectively >>> enabled by the first and second bits. >>> + >>> +Possible `drm-*-internal` key names are: `total`, `active` and `resident`. >> >> ... but don't list it as a valid key name here. > > I do mention slightly further below that that key:value pair is at the time being unused, > but I've thought of a possible interpretation that could be part of another commit. Understood, it just looks weird reading the paragraph after the context above. Seeing as `drm_print_memory_stats` will always emit it, it stands to reason it's a valid key name, just with no assigned meaning to it (yet). I'm being nit-picky :). Feel free to add my R-b with or without the extra key in the list. > >>> +These values convey the sizes of the internal driver-owned shmem BO's that >>> +aren't exposed to user-space through a DRM handle, like queue ring buffers, >>> +sync object arrays and heap chunks. Because they are all allocated and pinned >>> +at creation time, `drm-resident-internal` and `drm-total-internal` should always >>> +be equal. `drm-active-internal` shows the size of kernel BO's associated with >>> +VM's and groups currently being scheduled for execution by the GPU. >>> +`drm-shared-memory` is unused at present, but in the future it might stand for >>> +the size of the Firmware regions, since they do not belong to an open file context. >> >> -- >> Mihail Atanassov <mihail.atanassov@arm.com> > > Adrian Larumbe -- Mihail Atanassov <mihail.atanassov@arm.com>
© 2016 - 2025 Red Hat, Inc.