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

From: Matthew Wilcox
Date: Fri Aug 17 2018 - 21:22:23 EST


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.