[PATCH v5 4/4] drm/amdgpu: track bo memory stats at runtime
Tvrtko Ursulin
tvrtko.ursulin at igalia.com
Thu Oct 24 08:29:21 UTC 2024
On 23/10/2024 13:56, Christian König wrote:
> Am 23.10.24 um 14:24 schrieb Tvrtko Ursulin:
>> [SNIP]
>>>> To fold or not the special placements (GWS, GDS & co) is also
>>>> tangential. In my patch I just preserved the legacy behaviour so it
>>>> can easily be tweaked on top.
>>>
>>> Yeah, but again the original behavior is completely broken.
>>>
>>> GWS, GDS and OA are counted in blocks of HW units (multiplied by
>>> PAGE_SIZE IIRC to avoid some GEM&TTM warnings).
>>>
>>> When you accumulate that anywhere in the memory stats then that is
>>> just completely off.
>>
>> Ooops. :) Are they backed by some memory though, be it system or VRAM?
>
> GDS is an internal 4 or 64KiB memory block which is only valid while
> shaders are running. It is used to communicate stuff between different
> shader stages and not even CPU accessible.
>
> GWS and OA are not even memory, those are just HW blocks which implement
> a fixed function.
>
> IIRC most HW generation have 16 of each and when setting up the
> application virtual address space you can specify how many will be used
> by the application.
I see, thank you! Though I could have bothered to look in the code or
even instrument at runtime too.
I agree removing it from system is correct. If wanted and/or desirable
some or all could be exported as different memory regions even. DRM
fdinfo specs already allows that. Like:
drm-total-vram: ...
drm-total-gds: ...
drm-total-oa: ...
Etc.
Regards,
Tvrtko
More information about the dri-devel
mailing list