All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michal Hocko <mhocko@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>,
	"Kirill A. Shutemov" <kirill@shutemov.name>,
	Zi Yan <zi.yan@sent.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Vlastimil Babka <vbabka@suse.cz>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] mm: shmem: enable thp migration (Re: [PATCH v1] mm: consider non-anonymous thp as unmovable page)
Date: Wed, 11 Apr 2018 21:43:26 +0200	[thread overview]
Message-ID: <20180411194326.GN23400@dhcp22.suse.cz> (raw)
In-Reply-To: <20180411122739.25d1700099222eb647b0c620@linux-foundation.org>

On Wed 11-04-18 12:27:39, Andrew Morton wrote:
> On Wed, 11 Apr 2018 11:26:11 +0200 Michal Hocko <mhocko@kernel.org> wrote:
> 
> > On Fri 06-04-18 03:07:11, Naoya Horiguchi wrote:
> > > >From e31ec037701d1cc76b26226e4b66d8c783d40889 Mon Sep 17 00:00:00 2001
> > > From: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> > > Date: Fri, 6 Apr 2018 10:58:35 +0900
> > > Subject: [PATCH] mm: enable thp migration for shmem thp
> > > 
> > > My testing for the latest kernel supporting thp migration showed an
> > > infinite loop in offlining the memory block that is filled with shmem
> > > thps.  We can get out of the loop with a signal, but kernel should
> > > return with failure in this case.
> > > 
> > > What happens in the loop is that scan_movable_pages() repeats returning
> > > the same pfn without any progress. That's because page migration always
> > > fails for shmem thps.
> > > 
> > > In memory offline code, memory blocks containing unmovable pages should
> > > be prevented from being offline targets by has_unmovable_pages() inside
> > > start_isolate_page_range().
> > >
> > > So it's possible to change migratability
> > > for non-anonymous thps to avoid the issue, but it introduces more complex
> > > and thp-specific handling in migration code, so it might not good.
> > > 
> > > So this patch is suggesting to fix the issue by enabling thp migration
> > > for shmem thp. Both of anon/shmem thp are migratable so we don't need
> > > precheck about the type of thps.
> > > 
> > > Fixes: commit 72b39cfc4d75 ("mm, memory_hotplug: do not fail offlining too early")
> > > Signed-off-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> > > Cc: stable@vger.kernel.org # v4.15+
> > 
> > I do not really feel qualified to give my ack but this is the right
> > approach for the fix. We simply do expect that LRU pages are migrateable
> > as well as zone_movable pages.
> > 
> > Andrew, do you plan to take it (with Kirill's ack).
> > 
> 
> Sure.  What happened with "Michal's fix in another email"
> (https://lkml.kernel.org/r/20180406051452.GB23467@hori1.linux.bs1.fc.nec.co.jp)?

I guess you meant http://lkml.kernel.org/r/20180405190405.GS6312@dhcp22.suse.cz

Well, that would be a workaround in case we didn't have a proper fix. It
is much simpler but it wouldn't make backporting to older kernels any
easier because it depends on other non-trivial changes you already have
in your tree. So having a full THP pagecache migration support is
preferred of course.

-- 
Michal Hocko
SUSE Labs

  reply	other threads:[~2018-04-11 19:43 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-03  4:46 [PATCH v1] mm: consider non-anonymous thp as unmovable page Naoya Horiguchi
2018-04-03  7:59 ` Michal Hocko
2018-04-03  8:24   ` Naoya Horiguchi
2018-04-03  8:34     ` Michal Hocko
2018-04-03 10:54       ` Kirill A. Shutemov
2018-04-03 10:58         ` Michal Hocko
2018-04-03 11:16           ` Kirill A. Shutemov
2018-04-03 11:33             ` Michal Hocko
2018-04-05  8:59         ` Michal Hocko
2018-04-05 12:28           ` Kirill A. Shutemov
2018-04-05 12:48             ` Michal Hocko
2018-04-05 13:40               ` Kirill A. Shutemov
2018-04-05 15:05                 ` Michal Hocko
2018-04-05 15:55                   ` Kirill A. Shutemov
2018-04-05 16:03                     ` Michal Hocko
2018-04-05 17:58                       ` Zi Yan
2018-04-05 19:04                         ` Michal Hocko
2018-04-05 19:09                           ` Zi Yan
2018-04-06  3:07                       ` [PATCH] mm: shmem: enable thp migration (Re: [PATCH v1] mm: consider non-anonymous thp as unmovable page) Naoya Horiguchi
2018-04-06  3:07                         ` Naoya Horiguchi
2018-04-06  5:14                         ` Naoya Horiguchi
2018-04-06  7:08                           ` Michal Hocko
2018-04-06  7:08                             ` Michal Hocko
2018-04-09  7:14                             ` Naoya Horiguchi
2018-04-10 11:16                         ` Kirill A. Shutemov
2018-04-11  9:26                         ` Michal Hocko
2018-04-11 19:27                           ` Andrew Morton
2018-04-11 19:43                             ` Michal Hocko [this message]
2018-04-23  3:03                         ` Matthew Wilcox
2018-04-23  7:21                           ` Naoya Horiguchi
2018-04-05 16:42 ` [PATCH v1] mm: consider non-anonymous thp as unmovable page Sasha Levin

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=20180411194326.GN23400@dhcp22.suse.cz \
    --to=mhocko@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=kirill@shutemov.name \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=n-horiguchi@ah.jp.nec.com \
    --cc=vbabka@suse.cz \
    --cc=zi.yan@sent.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.