[PATCH 1/7] drm: Do not round to megabytes for greater than 1MiB sizes in fdinfo stats

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Oct 26 14:43:37 UTC 2023


On 28/09/2023 13:47, Tvrtko Ursulin wrote:
> 
> On 27/09/2023 14:48, Steven Price wrote:
>> On 27/09/2023 14:38, Tvrtko Ursulin wrote:
>>> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>>
>>> It is better not to lose precision and not revert to 1 MiB size
>>> granularity for every size greater than 1 MiB.
>>>
>>> Sizes in KiB should not be so troublesome to read (and in fact machine
>>> parsing is I expect the norm here), they align with other api like
>>> /proc/meminfo, and they allow writing tests for the interface without
>>> having to embed drm.ko implementation knowledge into them. (Like knowing
>>> that minimum buffer size one can use for successful verification has 
>>> to be
>>> 1MiB aligned, and on top account for any pre-existing memory utilisation
>>> outside of driver's control.)
>>>
>>> But probably even more importantly I think that it is just better to 
>>> show
>>> the accurate sizes and not arbitrary lose precision for a little bit 
>>> of a
>>> stretched use case of eyeballing fdinfo text directly.
>>>
>>> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>> Cc: Rob Clark <robdclark at gmail.com>
>>> Cc: Adrián Larumbe <adrian.larumbe at collabora.com>
>>> Cc: steven.price at arm.com
>>
>> Reviewed-by: Steven Price <steven.price at arm.com>
> 
> Thanks! Rob? Can we have your blessing? Could you live with KiBs? :)

Acked received on #dri-devel:

[12:15] <tursulin> robclark: ping on https://lists.freedesktop.org/archives/dri-devel/2023-September/424905.html - can you live with it or object?
[14:41] <robclark> tursulin: a-b

Adding the drm-misc maintainers with an ask to merge please.

Regards,

Tvrtko

> 
> Regards,
> 
> Tvrtko
> 
>>> ---
>>>   drivers/gpu/drm/drm_file.c | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/gpu/drm/drm_file.c b/drivers/gpu/drm/drm_file.c
>>> index e692770ef6d3..ecb5038009e7 100644
>>> --- a/drivers/gpu/drm/drm_file.c
>>> +++ b/drivers/gpu/drm/drm_file.c
>>> @@ -913,7 +913,7 @@ static void print_size(struct drm_printer *p, 
>>> const char *stat,
>>>       unsigned u;
>>>       for (u = 0; u < ARRAY_SIZE(units) - 1; u++) {
>>> -        if (sz < SZ_1K)
>>> +        if (sz == 0 || !IS_ALIGNED(sz, SZ_1K))
>>>               break;
>>>           sz = div_u64(sz, SZ_1K);
>>>       }
>>


More information about the dri-devel mailing list