On 22/10/2024 18:06, Christian König wrote:
Am 22.10.24 um 18:46 schrieb Li, Yunxiang (Teddy):
[Public]
I suppose we could add a field like amd-memory-private: to cover the
private placements.
No, that is not really appropriate either. GWS, GDS and OA are not
memory in the first place.
Those BOs are HW blocks which the driver allocated to use.
So accounting them for the memory usage doesn't make any sense at all.
We could print them in the fdinfo as something special for statistics,
but it's probably not that useful.
When would a BO not have a placement, is it when it is being moved?
There are BOs which are only temporary, so when they are evicted their
backing store is just discarded.
Additional to that allocation of backing store is sometimes delayed
until the first use.
Would this work correctly if instead of preferred allowed mask was used?
Point being, to correctly support fdinfo stats drm-total-, *if* a BO
*can* have a backing store at any point it should always be counted there.
*If* it currently has a placement it is drm-resident-.
If it has a placement but can be discarded it is drm-purgeable-. Etc.
Regards,
Tvrtko
Since we are tracking the state changes, I wonder if such situations
can be avoided now so whenever we call these stat update functions the
BO would always have a placement.
No, as I said before those use cases are perfectly valid. BO don't need
a backing store nor do they need a placement.
So the code has to gracefully handle that.
Regards,
Christian.
Teddy