[PATCH] Documentation/gpu: Document the situation with unqualified drm-memory-
Alex Deucher
alexdeucher at gmail.com
Fri May 3 15:58:26 UTC 2024
On Fri, May 3, 2024 at 11:33 AM Daniel Vetter <daniel at ffwll.ch> wrote:
>
> On Fri, May 03, 2024 at 01:58:38PM +0100, Tvrtko Ursulin wrote:
> >
> > [And I forgot dri-devel.. doing well!]
> >
> > On 03/05/2024 13:40, Tvrtko Ursulin wrote:
> > >
> > > [Correcting Christian's email]
> > >
> > > On 03/05/2024 13:36, Tvrtko Ursulin wrote:
> > > > From: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
> > > >
> > > > Currently it is not well defined what is drm-memory- compared to other
> > > > categories.
> > > >
> > > > In practice the only driver which emits these keys is amdgpu and in them
> > > > exposes the total memory use (including shared).
> > > >
> > > > Document that drm-memory- and drm-total-memory- are aliases to
> > > > prevent any
> > > > confusion in the future.
> > > >
> > > > While at it also clarify that the reserved sub-string 'memory' refers to
> > > > the memory region component.
> > > >
> > > > Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at igalia.com>
> > > > Cc: Alex Deucher <alexander.deucher at amd.com>
> > > > Cc: Christian König <christian.keonig at amd.com>
> > >
> > > Mea culpa, I copied the mistake from
> > > 77d17c4cd0bf52eacfad88e63e8932eb45d643c5. :)
> > >
> > > Regards,
> > >
> > > Tvrtko
> > >
> > > > Cc: Rob Clark <robdclark at chromium.org>
> > > > ---
> > > > Documentation/gpu/drm-usage-stats.rst | 10 +++++++++-
> > > > 1 file changed, 9 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/Documentation/gpu/drm-usage-stats.rst
> > > > b/Documentation/gpu/drm-usage-stats.rst
> > > > index 6dc299343b48..ef5c0a0aa477 100644
> > > > --- a/Documentation/gpu/drm-usage-stats.rst
> > > > +++ b/Documentation/gpu/drm-usage-stats.rst
> > > > @@ -128,7 +128,9 @@ Memory
> > > > Each possible memory type which can be used to store buffer
> > > > objects by the
> > > > GPU in question shall be given a stable and unique name to be
> > > > returned as the
> > > > -string here. The name "memory" is reserved to refer to normal
> > > > system memory.
> > > > +string here.
> > > > +
> > > > +The region name "memory" is reserved to refer to normal system memory.
> > > > Value shall reflect the amount of storage currently consumed by
> > > > the buffer
> > > > objects belong to this client, in the respective memory region.
> > > > @@ -136,6 +138,9 @@ objects belong to this client, in the respective
> > > > memory region.
> > > > Default unit shall be bytes with optional unit specifiers of 'KiB'
> > > > or 'MiB'
> > > > indicating kibi- or mebi-bytes.
> > > > +This is an alias for drm-total-<region> and only one of the two
> > > > should be
> > > > +present.
>
> This feels a bit awkward and seems to needlessly complicate fdinfo uapi.
>
> - Could we just patch amdgpu to follow everyone else, and avoid the
> special case? If there's no tool that relies on the special amdgpu
> prefix then that would be a lot easier.
>
> - If that's not on the table, could we make everyone (with a suitable
> helper or something) just print both variants, so that we again have
> consisent fdinfo output? Or breaks that a different set of existing
> tools.
>
> - Finally maybe could we get away with fixing amd by adding the common
> format there, deprecating the old, fixing the tools that would break and
> then maybe if we're lucky, remove the old one from amdgpu in a year or
> so?
I'm not really understanding what amdgpu is doing wrong. It seems to
be following the documentation. Is the idea that we would like to
deprecate drm-memory-<region> in favor of drm-total-<region>?
If that's the case, I think the 3rd option is probably the best. We
have a lot of tools and customers using this. It would have also been
nice to have "memory" in the string for the newer ones to avoid
conflicts with other things that might be a total or shared in the
future, but I guess that ship has sailed. We should also note that
drm-memory-<region> is deprecated. While we are here, maybe we should
clarify the semantics of resident, purgeable, and active. For
example, isn't resident just a duplicate of total? If the memory was
not resident, it would be in a different region.
Alex
>
> Uapi that's "either do $foo or on this one driver, do $bar" is just
> guaranteed to fragement the ecosystem, so imo that should be the absolute
> last resort.
> -Sima
>
> > > > +
> > > > - drm-shared-<region>: <uint> [KiB|MiB]
> > > > The total size of buffers that are shared with another file (e.g.,
> > > > have more
> > > > @@ -145,6 +150,9 @@ than a single handle).
> > > > The total size of buffers that including shared and private memory.
> > > > +This is an alias for drm-memory-<region> and only one of the two
> > > > should be
> > > > +present.
> > > > +
> > > > - drm-resident-<region>: <uint> [KiB|MiB]
> > > > The total size of buffers that are resident in the specified region.
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch
More information about the amd-gfx
mailing list