linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vlastimil Babka <vbabka@suse.cz>
To: Michal Hocko <mhocko@kernel.org>, David Rientjes <rientjes@google.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	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: [patch v2] mm, thp: always specify ineligible vmas as nh in smaps
Date: Mon, 24 Sep 2018 22:43:49 +0200	[thread overview]
Message-ID: <0aa3eb55-82c0-eba3-b12c-2ba22e052a8e@suse.cz> (raw)
In-Reply-To: <20180924200258.GK18685@dhcp22.suse.cz>

On 9/24/18 10:02 PM, Michal Hocko wrote:
> On Mon 24-09-18 21:56:03, Michal Hocko wrote:
>> On Mon 24-09-18 12:30:07, David Rientjes wrote:
>>> Commit 1860033237d4 ("mm: make PR_SET_THP_DISABLE immediately active")
>>> introduced a regression in that userspace cannot always determine the set
>>> of vmas where thp is ineligible.
>>>
>>> Userspace relies on the "nh" flag being emitted as part of /proc/pid/smaps
>>> to determine if a vma is eligible to be backed by hugepages.
>>
>> I was under impression that nh resp hg flags only tell about the madvise
>> status. How do you exactly use these flags in an application?
>>
>> Your eligible rules as defined here:
>>
>>> + [*] A process mapping is eligible to be backed by transparent hugepages (thp)
>>> +     depending on system-wide settings and the mapping itself.  See
>>> +     Documentation/admin-guide/mm/transhuge.rst for default behavior.  If a
>>> +     mapping has a flag of "nh", it is not eligible to be backed by hugepages
>>> +     in any condition, either because of prctl(PR_SET_THP_DISABLE) or
>>> +     madvise(MADV_NOHUGEPAGE).  PR_SET_THP_DISABLE takes precedence over any
>>> +     MADV_HUGEPAGE.
>>
>> doesn't seem to match the reality. I do not see all the file backed
>> mappings to be nh marked. So is this really about eligibility rather
>> than the madvise status? Maybe it is just the above documentation that
>> needs to be updated.

Yeah the change from madvise to eligibility in the doc seems to go too far.

>> That being said, I do not object to the patch, I am just trying to
>> understand what is the intended usage for the flag that does try to say
>> more than the madvise status.
> 
> And moreover, how is the PR_SET_THP_DISABLE any different from the
> global THP disabled case. Do we want to set all vmas to nh as well?

Probably not. It's easy to check the global status, but is it possible
to query for the prctl flags of a process? We are looking at process or
even vma-specific flags here. If the prctl was historically implemented
via VM_NOHUGEPAGE and thus reported as such in smaps, it makes sense to
do so even with the MMF_ flag IMHO?

  reply	other threads:[~2018-09-24 20:46 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 [this message]
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
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=0aa3eb55-82c0-eba3-b12c-2ba22e052a8e@suse.cz \
    --to=vbabka@suse.cz \
    --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=rientjes@google.com \
    /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).