linux-mm.kvack.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>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Zi Yan <zi.yan@cs.rutgers.edu>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	linux-mm@kvack.org, LKML <linux-kernel@vger.kernel.org>,
	Stefan Priebe <s.priebe@profihost.ag>
Subject: Re: [PATCH] mm, thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings
Date: Wed, 12 Sep 2018 13:40:27 -0700 (PDT)	[thread overview]
Message-ID: <alpine.DEB.2.21.1809121336310.47609@chino.kir.corp.google.com> (raw)
In-Reply-To: <20180912120504.GE10951@dhcp22.suse.cz>

On Wed, 12 Sep 2018, Michal Hocko wrote:

> > Saying that we really want THP isn't an all-or-nothing decision.  We 
> > certainly want to try hard to fault hugepages locally especially at task 
> > startup when remapping our .text segment to thp, and MADV_HUGEPAGE works 
> > very well for that.  Remote hugepages would be a regression that we now 
> > have no way to avoid because the kernel doesn't provide for it, if we were 
> > to remove __GFP_THISNODE that this patch introduces.
> 
> Why cannot you use mempolicy to bind to local nodes if you really care
> about the locality?
> 

Because we do not want to oom kill, we want to fallback first to local 
native pages and then to remote native pages.  That's the order of least 
to greatest latency, we do not want to work hard to allocate a remote 
hugepage when a local native page is faster.  This seems pretty straight 
forward.

> From what you have said so far it sounds like you would like to have
> something like the zone/node reclaim mode fine grained for a specific
> mapping. If we really want to support something like that then it should
> be a generic policy rather than THP specific thing IMHO.
> 
> As I've said it is hard to come up with a solution that would satisfy
> everybody but considering that the existing reports are seeing this a
> regression and cosindering their NUMA requirements are not so strict as
> yours I would tend to think that stronger NUMA requirements should be
> expressed explicitly rather than implicit effect of a madvise flag. We
> do have APIs for that.

Every process on every platform we have would need to define this explicit 
mempolicy for users of libraries that remap text segments because changing 
the allocation behavior of thp out from under them would cause very 
noticeable performance regressions.  I don't know of any platform where 
remote hugepages is preferred over local native pages.  If they exist, it 
sounds resaonable to introduce a stronger variant of MADV_HUGEPAGE that 
defines exactly what you want rather than causing it to become a dumping 
ground and userspace regressions.

  reply	other threads:[~2018-09-12 20:40 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-07 13:05 Michal Hocko
2018-09-08 18:52 ` Stefan Priebe - Profihost AG
2018-09-10  7:39   ` Michal Hocko
2018-09-11  9:03   ` Vlastimil Babka
2018-09-10 20:08 ` David Rientjes
2018-09-10 20:22   ` Stefan Priebe - Profihost AG
2018-09-11  8:51   ` Vlastimil Babka
2018-09-11 11:56   ` Michal Hocko
2018-09-11 20:30     ` David Rientjes
2018-09-12 12:05       ` Michal Hocko
2018-09-12 20:40         ` David Rientjes [this message]
2018-09-12 13:54     ` Andrea Arcangeli
2018-09-12 14:21       ` Michal Hocko
2018-09-12 15:25         ` Michal Hocko
  -- strict thread matches above, loose matches on Subject: below --
2018-08-23 10:52 [PATCH 2/2] mm: thp: fix transparent_hugepage/defrag = madvise || always Michal Hocko
2018-08-28  7:53 ` Michal Hocko
2018-08-28  8:18   ` Michal Hocko
     [not found]     ` <D5F4A33C-0A37-495C-9468-D6866A862097@cs.rutgers.edu>
2018-08-29 14:28       ` Michal Hocko
2018-08-29 14:35         ` Michal Hocko
2018-08-29 15:22           ` Zi Yan
2018-08-29 15:47             ` Michal Hocko
2018-08-29 16:06               ` Zi Yan
2018-08-29 16:25                 ` Michal Hocko
2018-08-29 19:24                   ` [PATCH] mm, thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings Michal Hocko
2018-08-29 22:54                     ` Zi Yan
2018-08-30  7:00                       ` Michal Hocko
2018-08-30 13:22                         ` Zi Yan
2018-08-30 13:45                           ` Michal Hocko
2018-08-30 14:02                             ` Zi Yan
2018-08-30 16:19                               ` Stefan Priebe - Profihost AG
2018-08-30 16:40                               ` Michal Hocko
2018-09-05  3:44                                 ` Andrea Arcangeli
2018-09-05  7:08                                   ` Michal Hocko
2018-09-06 11:10                                     ` Vlastimil Babka
2018-09-06 11:16                                       ` Vlastimil Babka
2018-09-06 11:25                                         ` Michal Hocko
2018-09-06 12:35                                           ` Zi Yan
2018-09-06 10:59                       ` Vlastimil Babka
2018-09-06 11:17                         ` Zi Yan
2018-08-30  6:47                     ` Michal Hocko
2018-09-06 11:18                       ` Vlastimil Babka
2018-09-06 11:27                         ` Michal Hocko
2018-09-12 17:29                     ` Mel Gorman
2018-09-17  6:11                       ` Michal Hocko
2018-09-17  7:04                         ` Stefan Priebe - Profihost AG
2018-09-17  9:32                           ` Stefan Priebe - Profihost AG
2018-09-17 11:27                           ` Michal Hocko

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.1809121336310.47609@chino.kir.corp.google.com \
    --to=rientjes@google.com \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=kirill@shutemov.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@kernel.org \
    --cc=s.priebe@profihost.ag \
    --cc=zi.yan@cs.rutgers.edu \
    /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