[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 Sep 28 12:47:14 UTC 2023


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? :)

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