On 27/09/2023 14:38, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <[email protected]>
> 
> 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 <[email protected]>
> Cc: Rob Clark <[email protected]>
> Cc: Adrián Larumbe <[email protected]>
> Cc: [email protected]

Reviewed-by: Steven Price <[email protected]>

> ---
>  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);
>       }

Reply via email to