Skip to content

mm, memory_hotplug: redefine memory offline retry logic

Michal Hocko linux-mm lkml 2 versions – Applied

Status from this message: [merged] mm-memory_hotplug-remove-timeout-from-__offline_memory.patch removed from -mm tree

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest2 patches 41 repliesApplied 3/4
  2. v12 patches 17 repliesSuperseded

Patches in v2 Applied · 3/4

#Subject and filesSizeRepliesApplied
1/2mm, memory_hotplug: do not fail offlining too earlymm/memory_hotplug.c+10 -3013 repliesApplied
1/2mm: drop migrate type checks from has_unmovable_pagesmm/page_alloc.c+0 -325 repliesApplied
2/2mm, memory_hotplug: remove timeout from __offline_memorymm/memory_hotplug.c+3 -70 repliesApplied
2/2mm, page_alloc: fail has_unmovable_pages when seeing reserved pagesmm/page_alloc.c+3 -03 replies

Reviews trailers per patch

All 4 patches have a Reviewed-by or Acked-by.

PatchVlastimil BabkaMichael Ellerman
1/2A-b A-b A-b T-b
1/2A-b A-b A-b T-b
2/2A-b A-b
2/2A-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [PATCH v2 0/2] mm, memory_hotplug: redefine memory offline retry logic

Hi,
this has been previously sent http://lkml.kernel.org/r/[email protected]
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/[email protected]

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