LKML Archive on
 help / color / Atom feed
From: Michal Hocko <>
To: Andrew Morton <>
Cc: KAMEZAWA Hiroyuki <>,
	Reza Arbab <>,
	Yasuaki Ishimatsu <>,, Igor Mammedov <>,
	Vitaly Kuznetsov <>, <>,
	LKML <>
Subject: [PATCH 0/2] mm, memory_hotplug: redefine memory offline retry logic
Date: Mon,  4 Sep 2017 10:21:46 +0200
Message-ID: <> (raw)

while testing memory hotplug on a large 4TB machine we have noticed that
memory offlining is just too eager to fail. The primary reason is that
the retry logic is just too easy to give up. We have 4 ways out of the
	- we have a permanent failure (isolation or memory notifiers fail,
	  or hugetlb pages cannot be dropped)
	- userspace sends a signal
	- a hardcoded 120s timeout expires
	- page migration fails 5 times
This is way too convoluted and it doesn't scale very well. We have seen both
temporary migration failures as well as 120s being triggered. After removing
those restrictions we were able to pass stress testing during memory hot
remove without any other negative side effects observed. Therefore I suggest
dropping both hard coded policies. I couldn't have found any specific reason
for them in the changelog. I neither didn't get any response [1] from Kamezawa.
If we need some upper bound - e.g. timeout based - then we should have a proper
and user defined policy for that. In any case there should be a clear use case
when introducing it.

Any comments, objections?

Michal Hocko (2):
      mm, memory_hotplug: do not fail offlining too early
      mm, memory_hotplug: remove timeout from __offline_memory

 mm/memory_hotplug.c | 48 ++++++++++++------------------------------------
 1 file changed, 12 insertions(+), 36 deletions(-)


             reply index

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-04  8:21 Michal Hocko [this message]
2017-09-04  8:21 ` [PATCH 1/2] mm, memory_hotplug: do not fail offlining too early Michal Hocko
2017-09-05  6:29   ` Anshuman Khandual
2017-09-05  7:13     ` Michal Hocko
2017-09-08 17:26   ` Vlastimil Babka
2017-09-11  8:17     ` Michal Hocko
2017-09-13 11:41       ` Vlastimil Babka
2017-09-13 12:10         ` Michal Hocko
2017-09-13 12:14           ` Michal Hocko
2017-09-13 12:19             ` Vlastimil Babka
2017-09-13 12:32               ` Michal Hocko
2017-09-04  8:21 ` [PATCH 2/2] mm, memory_hotplug: remove timeout from __offline_memory Michal Hocko
2017-09-04  8:58   ` Xishi Qiu
2017-09-04  9:01     ` Michal Hocko
2017-09-04  9:05       ` Xishi Qiu
2017-09-04  9:15         ` Michal Hocko
2017-09-05  5:46           ` Anshuman Khandual
2017-09-05  7:23             ` Michal Hocko
2017-09-05  8:54               ` Anshuman Khandual
2017-09-08 17:27   ` 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:

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

  git send-email \ \ \ \ \ \ \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

LKML Archive on

Archives are clonable:
	git clone --mirror lkml/git/0.git
	git clone --mirror lkml/git/1.git
	git clone --mirror lkml/git/2.git
	git clone --mirror lkml/git/3.git
	git clone --mirror lkml/git/4.git
	git clone --mirror lkml/git/5.git
	git clone --mirror lkml/git/6.git
	git clone --mirror lkml/git/7.git
	git clone --mirror lkml/git/8.git
	git clone --mirror lkml/git/9.git
	git clone --mirror lkml/git/10.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ \
	public-inbox-index lkml

Example config snippet for mirrors

Newsgroup available over NNTP:

AGPL code for this site: git clone