Re: [RFC PATCH] mm, proc: report PR_SET_THP_DISABLE in proc
From: Michal Hocko <mhocko@kernel.org>
Date: 2018-10-17 07:05:36
Also in:
linux-mm, lkml
On Tue 16-10-18 14:24:19, David Rientjes wrote:
On Tue, 16 Oct 2018, Michal Hocko wrote:quoted
quoted
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.
quoted
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