Re: [PATCH 1/2 v2] mm: vmpressure: fix sending wrong events on underflow

From: Michal Hocko
Date: Thu Feb 09 2017 - 07:24:24 EST

On Thu 09-02-17 13:10:57, Michal Hocko wrote:
> On Thu 09-02-17 17:29:36, Vinayak Menon wrote:
> > At the end of a window period, if the reclaimed pages
> > is greater than scanned, an unsigned underflow can
> > result in a huge pressure value and thus a critical event.
> > Reclaimed pages is found to go higher than scanned because
> > of the addition of reclaimed slab pages to reclaimed in
> > shrink_node without a corresponding increment to scanned
> > pages. Minchan Kim mentioned that this can also happen in
> > the case of a THP page where the scanned is 1 and reclaimed
> > could be 512.
> >
> > Acked-by: Minchan Kim <minchan@xxxxxxxxxx>
> > Signed-off-by: Vinayak Menon <vinmenon@xxxxxxxxxxxxxx>
> Acked-by: Michal Hocko <mhocko@xxxxxxxx>
> I would prefer the fixup in vmpressure() as already mentioned but this
> should work as well.

Btw. I guess this should be good to mark for stable. Reclaiming THP is
not all that rare (even though we try to avoid anon reclaim as much as
possible) and hitting critical events can lead to disruptive actions to
Michal Hocko