linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Rientjes <rientjes@google.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	Alexey Dobriyan <adobriyan@gmail.com>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	linux-kernel@vger.kernel.org, linux-mm@kvack.org,
	linux-api@vger.kernel.org
Subject: Re: [RFC PATCH] mm, proc: report PR_SET_THP_DISABLE in proc
Date: Tue, 16 Oct 2018 14:24:19 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.21.1810161416540.83080@chino.kir.corp.google.com> (raw)
In-Reply-To: <20181016104855.GQ18839@dhcp22.suse.cz>

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.

I agree with you that this could have been done better if an interface was 
defined earlier that userspace could have used.  PR_SET_THP_DISABLE was 
merged long after thp had already been merged so this can be a reminder 
that defining clean, robust, and extensible APIs is important, but I'm 
afraid we can't go back in time and change how userspace queries 
information, especially in cases where there was only one way to do it.

> > 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.)
> 
> 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.

  reply	other threads:[~2018-10-16 21:24 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-24 17:55 [patch] mm, thp: always specify ineligible vmas as nh in smaps David Rientjes
2018-09-24 18:25 ` Vlastimil Babka
2018-09-24 19:17   ` David Rientjes
2018-09-24 19:30     ` [patch v2] " David Rientjes
2018-09-24 19:56       ` Michal Hocko
2018-09-24 20:02         ` Michal Hocko
2018-09-24 20:43           ` Vlastimil Babka
2018-09-25  5:50             ` Michal Hocko
2018-09-25 19:52             ` David Rientjes
2018-09-25 20:29               ` Michal Hocko
2018-09-25 21:45                 ` David Rientjes
2018-09-25 22:04                   ` Andrew Morton
2018-09-26  0:55                     ` David Rientjes
2018-09-26  6:06                     ` Michal Hocko
2018-10-02 11:28                       ` [RFC PATCH] mm, proc: report PR_SET_THP_DISABLE in proc Michal Hocko
2018-10-02 20:29                         ` David Rientjes
2018-10-03  7:36                           ` Michal Hocko
2018-10-03 22:51                             ` David Rientjes
2018-10-04  5:58                               ` Michal Hocko
2018-10-04  9:15                                 ` David Rientjes
2018-10-04  9:46                                   ` Michal Hocko
2018-10-04 18:34                                     ` David Rientjes
2018-10-09  8:33                                       ` Michal Hocko
2018-10-15 15:03                                         ` Michal Hocko
2018-10-15 22:25                                           ` David Rientjes
2018-10-16 10:48                                             ` Michal Hocko
2018-10-16 21:24                                               ` David Rientjes [this message]
2018-10-17  7:05                                                 ` Michal Hocko
2018-10-17 19:59                                                   ` David Rientjes
2018-10-18  7:00                                                     ` Michal Hocko
2018-11-14 13:23                                                       ` Michal Hocko
2018-11-14 21:41                                                         ` David Rientjes
2018-11-15  9:02                                                           ` Michal Hocko
2018-11-15  9:22                                                             ` Michal Hocko
2018-11-19 22:05                                                             ` David Rientjes
2018-11-20  7:48                                                               ` Michal Hocko
2018-10-03 17:33                           ` Mike Rapoport
2018-09-25 21:50               ` [patch v3] mm, thp: always specify disabled vmas as nh in smaps David Rientjes
2018-09-26  6:12                 ` Michal Hocko
2018-09-26  7:17                   ` Michal Hocko
2018-09-26  8:40                 ` Vlastimil Babka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.DEB.2.21.1810161416540.83080@chino.kir.corp.google.com \
    --to=rientjes@google.com \
    --cc=adobriyan@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=vbabka@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).