Re: [RFC PATCH] mm, proc: report PR_SET_THP_DISABLE in proc

From: Michal Hocko
Date: Wed Oct 17 2018 - 03:05:36 EST


On Tue 16-10-18 14:24:19, David Rientjes wrote:
> On Tue, 16 Oct 2018, Michal Hocko wrote:
>
> > > I don't understand the point of extending smaps with yet another line.
> >
> > Because abusing a vma flag part is just wrong. What are you going to do
> > when a next bug report states that the flag is set even though no
> > userspace has set it and that leads to some malfunctioning? Can you rule
> > that out? Even your abuse of the flag is surprising so why others
> > wouldn't be?
> >
>
> The flag has taken on the meaning of "thp disabled for this vma", how it
> is set is not the scope of the flag. If a thp is explicitly disabled from
> being eligible for thp, whether by madvise, prctl, or any future
> mechanism, it should use VM_NOHUGEPAGE or show_smap_vma_flags() needs to
> be modified.

No, this is not the meaning which is documented

nh - no-huge page advise flag

and as far as I know it is only you who has complained so far.

> > As I've said there are two things. Exporting PR_SET_THP_DISABLE to
> > userspace so that a 3rd party process can query it. I've already
> > explained why that might be useful. If you really insist on having
> > a per-vma field then let's do it properly now. Are you going to agree on
> > that? If yes, I am willing to spend my time on that but I am not going
> > to bother if this will lead to "I want my vma field abuse anyway".
>
> I think what you and I want is largely irrelevant :) What's important is
> that there are userspace implementations that query this today so
> continuing to support it as the way to determine if a vma has been thp
> disabled doesn't seem problematic and guarantees that userspace doesn't
> break.

Do you know of any other userspace except your usecase? Is there
anything fundamental that would prevent a proper API adoption for you?

--
Michal Hocko
SUSE Labs