Linux-mm Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH v2 0/2] mm, memory_hotplug: redefine memory offline retry logic
@ 2017-09-18  7:08 Michal Hocko
  2017-09-18  7:08 ` [PATCH 1/2] mm, memory_hotplug: do not fail offlining too early Michal Hocko
  2017-09-18  7:08 ` [PATCH 2/2] mm, memory_hotplug: remove timeout from __offline_memory Michal Hocko
  0 siblings, 2 replies; 55+ messages in thread
From: Michal Hocko @ 2017-09-18  7:08 UTC (permalink / raw)
  To: Andrew Morton
  Cc: KAMEZAWA Hiroyuki, Reza Arbab, Yasuaki Ishimatsu, qiuxishi,
	Igor Mammedov, Vitaly Kuznetsov, linux-mm, LKML, Michal Hocko,
	Vlastimil Babka

Hi,
this has been previously sent http://lkml.kernel.org/r/20170904082148.23131-1-mhocko@kernel.org
No fundamental objections have been raised. There were some questions about
potential permanent migration failures but those are deemed unlikely and
not really problematic because the context is interruptible. I have tried
to clarify the wording to be more clear.

original changelog:
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
offline
	- 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?

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

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

[1] http://lkml.kernel.org/r/20170828094316.GF17097@dhcp22.suse.cz

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 55+ messages in thread
* [PATCH 0/2] mm, memory_hotplug: redefine memory offline retry logic
@ 2017-09-04  8:21 Michal Hocko
  2017-09-04  8:21 ` [PATCH 2/2] mm, memory_hotplug: remove timeout from __offline_memory Michal Hocko
  0 siblings, 1 reply; 55+ messages in thread
From: Michal Hocko @ 2017-09-04  8:21 UTC (permalink / raw)
  To: Andrew Morton
  Cc: KAMEZAWA Hiroyuki, Reza Arbab, Yasuaki Ishimatsu, qiuxishi,
	Igor Mammedov, Vitaly Kuznetsov, linux-mm, LKML

Hi,
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
offline
	- 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?

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

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

[1] http://lkml.kernel.org/r/20170828094316.GF17097@dhcp22.suse.cz

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, back to index

Thread overview: 55+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-18  7:08 [PATCH v2 0/2] mm, memory_hotplug: redefine memory offline retry logic Michal Hocko
2017-09-18  7:08 ` [PATCH 1/2] mm, memory_hotplug: do not fail offlining too early Michal Hocko
2017-10-10 12:05   ` Michael Ellerman
2017-10-10 12:27     ` Michal Hocko
2017-10-11  2:37       ` Michael Ellerman
2017-10-11  5:19         ` Michael Ellerman
2017-10-11 14:05           ` Anshuman Khandual
2017-10-11 14:16             ` Michal Hocko
2017-10-11  6:51         ` Michal Hocko
2017-10-11  8:04           ` Vlastimil Babka
2017-10-11  8:13             ` Michal Hocko
2017-10-11 11:17               ` Vlastimil Babka
2017-10-11 11:24                 ` Michal Hocko
2017-10-13 11:42             ` Michael Ellerman
2017-10-13 11:58               ` Michal Hocko
2017-10-13 12:00                 ` [PATCH 1/2] mm: drop migrate type checks from has_unmovable_pages Michal Hocko
2017-10-13 12:00                   ` [PATCH 2/2] mm, page_alloc: fail has_unmovable_pages when seeing reserved pages Michal Hocko
2017-10-13 12:04                     ` Vlastimil Babka
2017-10-13 12:07                       ` Michal Hocko
2017-10-17 13:03                         ` Vlastimil Babka
2017-10-17 11:41                   ` [PATCH 1/2] mm: drop migrate type checks from has_unmovable_pages Michael Ellerman
2017-10-17 12:03                     ` Michal Hocko
2017-10-17 13:02                   ` Vlastimil Babka
2017-10-19  2:51                   ` Joonsoo Kim
2017-10-19  7:15                     ` Michal Hocko
2017-10-19  7:33                       ` Joonsoo Kim
2017-10-19  8:20                         ` Michal Hocko
2017-10-19 12:21                           ` Michal Hocko
2017-10-20  2:13                             ` Joonsoo Kim
2017-10-20  5:59                               ` Michal Hocko
2017-10-20  6:50                                 ` Joonsoo Kim
2017-10-20  7:02                                   ` Michal Hocko
2017-10-23  5:23                                     ` Joonsoo Kim
2017-10-23  8:10                                       ` Michal Hocko
2017-10-24  4:44                                         ` Joonsoo Kim
2017-10-24  7:44                                           ` Michal Hocko
2017-10-24  8:12                                           ` Vlastimil Babka
2017-10-24 12:25                                             ` Michal Hocko
2017-10-26  2:47                                             ` Joonsoo Kim
2017-10-26  7:41                                               ` Michal Hocko
2017-10-20  7:22                               ` Xishi Qiu
2017-10-20  8:17                                 ` Michal Hocko
2017-10-23  5:26                                   ` Joonsoo Kim
2017-10-26 13:04                             ` Vlastimil Babka
2017-10-26 13:59                             ` Michal Hocko
2017-09-18  7:08 ` [PATCH 2/2] mm, memory_hotplug: remove timeout from __offline_memory Michal Hocko
  -- strict thread matches above, loose matches on Subject: below --
2017-09-04  8:21 [PATCH 0/2] mm, memory_hotplug: redefine memory offline retry logic 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

Linux-mm Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-mm/0 linux-mm/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-mm linux-mm/ https://lore.kernel.org/linux-mm \
		linux-mm@kvack.org
	public-inbox-index linux-mm

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kvack.linux-mm


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git