Re: [PATCH RFC] mm: don't miss the last page because of round-off error

From: Roman Gushchin
Date: Mon Aug 20 2018 - 13:19:52 EST


On Fri, Aug 17, 2018 at 06:22:13PM -0700, Matthew Wilcox wrote:
> On Fri, Aug 17, 2018 at 04:18:34PM -0700, Roman Gushchin wrote:
> > - scan = div64_u64(scan * fraction[file],
> > - denominator);
> > + if (scan > 1)
> > + scan = div64_u64(scan * fraction[file],
> > + denominator);
>
> Wouldn't we be better off doing a div_round_up? ie:
>
> scan = div64_u64(scan * fraction[file] + denominator - 1, denominator);
>
> although i'd rather hide that in a new macro in math64.h than opencode it
> here.

Good idea! Will do in v2.

Thanks!