Re: [PATCH] mm: thp: remove use_zero_page sysfs knob

From: Yang Shi
Date: Fri Jul 20 2018 - 16:37:58 EST




On 7/20/18 1:02 PM, David Rientjes wrote:
On Fri, 20 Jul 2018, Andrew Morton wrote:

By digging into the original review, it looks use_zero_page sysfs knob
was added to help ease-of-testing and give user a way to mitigate
refcounting overhead.

It has been a few years since the knob was added at the first place, I
think we are confident that it is stable enough. And, since commit
6fcb52a56ff60 ("thp: reduce usage of huge zero page's atomic counter"),
it looks refcounting overhead has been reduced significantly.

Other than the above, the value of the knob is always 1 (enabled by
default), I'm supposed very few people turn it off by default.

So, it sounds not worth to still keep this knob around.
Probably OK. Might not be OK, nobody knows.

It's been there for seven years so another six months won't kill us.
How about as an intermediate step we add a printk("use_zero_page is
scheduled for removal. Please contact linux-mm@xxxxxxxxx if you need
it").

We disable the huge zero page through this interface, there were issues
related to the huge zero page shrinker (probably best to never free a
per-node huge zero page after allocated) and CVE-2017-1000405 for huge
dirty COW.

Thanks for the information. It looks the CVE has been resolved by commit a8f97366452ed491d13cf1e44241bc0b5740b1f0 ("mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d()"), which is in 4.15 already.

What was the shrinker related issue? I'm supposed it has been resolved, right?