Re: [RFC PATCH] mm, proc: report PR_SET_THP_DISABLE in proc
From: David Rientjes
Date: Mon Oct 15 2018 - 18:25:19 EST
On Mon, 15 Oct 2018, Michal Hocko wrote:
> > > No, because the offending commit actually changed the precedence itself:
> > > PR_SET_THP_DISABLE used to be honored for future mappings and the commit
> > > changed that for all current mappings.
> >
> > Which is the actual and the full point of the fix as described in the
> > changelog. The original implementation was poor and inconsistent.
> >
> > > So as a result of the commit
> > > itself we would have had to change the documentation and userspace can't
> > > be expected to keep up with yet a fourth variable: kernel version. It
> > > really needs to be simpler, just a per-mapping specifier.
> >
> > As I've said, if you really need a per-vma granularity then make it a
> > dedicated line in the output with a clear semantic. Do not make VMA
> > flags even more confusing.
>
> Can we settle with something please?
I don't understand the point of extending smaps with yet another line.
The only way for a different process to determine if a single vma from
another process is thp disabled is by the "nh" flag, so it is reasonable
that userspace reads this. My patch fixes that. If smaps is extended
with another line per your patch, it doesn't change the fact that previous
binaries are built to check for "nh" so it does not deprecate that.
("THP_Enabled" is also ambiguous since it only refers to prctl and not the
default thp setting or madvise.)