Message ID | 20241211163436.381069-3-adrian.larumbe@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/panthor: Display size of internal kernel BOs through fdinfo | expand |
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.
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
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 >
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
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.
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(+)