Re: [PATCH] mm/vmstat: Reduce zone lock hold time when reading /proc/pagetypeinfo

From: Andrew Morton
Date: Wed Oct 23 2019 - 18:31:12 EST


On Wed, 23 Oct 2019 11:01:04 -0400 Waiman Long <longman@xxxxxxxxxx> wrote:

> On 10/23/19 10:48 AM, Qian Cai wrote:
> >>> this still isn't a bulletproof fix. Maybe just terminate the list
> >>> walk if freecount reaches 1024. Would anyone really care?
> >>>
> >>> Sigh. I wonder if anyone really uses this thing for anything
> >>> important. Can we just remove it all?
> >>>
> >> Removing it will be a breakage of kernel API.
> > Who cares about breaking this part of the API that essentially nobody will use
> > this file?
> >
> There are certainly tools that use /proc/pagetypeinfo and this is how
> the problem is found. I am not against removing it, but we have to be
> careful and deprecate it in way that minimize user impact.

Yes, removing things is hard. One approach is to add printk_once(this
is going away, please email us if you use it) then wait a few years.
Backport that one-liner into -stable kernels to hopefully speed up the
process.

Meanwhile, we need to fix the DoS opportunity. How about my suggestion
that we limit the count to 1024, see if anyone notices? I bet they
don't!