linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Yang Shi <yang.shi@linux.alibaba.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: Mel Gorman <mgorman@techsingularity.net>,
	Andrea Arcangeli <aarcange@redhat.com>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [QUESTIONS] THP allocation in NUMA fault migration path
Date: Thu, 18 Apr 2019 09:18:15 -0700	[thread overview]
Message-ID: <bb2464c9-dc45-eff1-b9ac-f29105ccd27b@linux.alibaba.com> (raw)
In-Reply-To: <20190418063218.GA6567@dhcp22.suse.cz>



On 4/17/19 11:32 PM, Michal Hocko wrote:
> On Wed 17-04-19 21:15:41, Yang Shi wrote:
>> Hi folks,
>>
>>
>> I noticed that there might be new THP allocation in NUMA fault migration
>> path (migrate_misplaced_transhuge_page()) even when THP is disabled (set to
>> "never"). When THP is set to "never", there should be not any new THP
>> allocation, but the migration path is kind of special. So I'm not quite sure
>> if this is the expected behavior or not?
>>
>>
>> And, it looks this allocation disregards defrag setting too, is this
>> expected behavior too?H
> Could you point to the specific code? But in general the miTgration path

Yes. The code is in migrate_misplaced_transhuge_page() called by 
do_huge_pmd_numa_page().

It would just do:
alloc_pages_node(node, (GFP_TRANSHUGE_LIGHT | __GFP_THISNODE), 
HPAGE_PMD_ORDER);
without checking if transparent_hugepage is enabled or not.

THP may be disabled before calling into do_huge_pmd_numa_page(). The 
do_huge_pmd_wp_page() does check if THP is disabled or not. If THP is 
disabled, it just tries to allocate 512 base pages.

> should allocate the memory matching the migration origin. If the origin
> was a THP then I find it quite natural if the target was a huge page as

Yes, this is what I would like to confirm. Migration allocates a new THP 
to replace the old one.

> well. How hard the allocation should try is another question and I
> suspect we do want to obedy the defrag setting.

Yes, I thought so too. However, THP NUMA migration was added in 3.8 by 
commit b32967f ("mm: numa: Add THP migration for the NUMA working set 
scanning fault case."). It disregarded defrag setting at the very 
beginning. So, I'm not quite sure if it was done on purpose or just 
forgot it.

Thanks,
Yang



  reply	other threads:[~2019-04-18 16:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-18  4:15 Yang Shi
2019-04-18  6:32 ` Michal Hocko
2019-04-18 16:18   ` Yang Shi [this message]
2019-04-19 11:13     ` Mel Gorman
2019-04-19 16:28       ` Yang Shi

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=bb2464c9-dc45-eff1-b9ac-f29105ccd27b@linux.alibaba.com \
    --to=yang.shi@linux.alibaba.com \
    --cc=aarcange@redhat.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@techsingularity.net \
    --cc=mhocko@kernel.org \
    /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