Skip to content

mm/memory_hotplug: online_pages()/offline_pages() cleanups

David Hildenbrand linux-ia64 linux-mm lkml 2 versions Applied

Status from this message: [merged] mm-memory_hotplug-mark-pageblocks-migrate_isolate-while-onlining-memory.patch removed from -mm tree

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest10 patches 19 repliesApplied 10/10
  2. v111 patches 16 repliesSuperseded

Changes in v2 from the cover letter

- "mm/memory_hotplug: enforce section granularity when onlining/offlining" -- Extended the patch description regarding alignment requirements -- Fixed a typo
- Squashed "mm/memory_hotplug: simplify offlining of pages in offline_pages()" and "mm/memory_hotplug: simplify checking if all pages are isolated in offline_pages()", resulting in "mm/memory_hotplug: simplify page offlining"
- Added ACKs

Patches in v2 All 10 applied

#Subject and filesSizeRepliesApplied
1/10mm/memory_hotplug: inline __offline_pages() into offline_pages()mm/memory_hotplug.c+5 -112 repliesApplied
2/10mm/memory_hotplug: enforce section granularity when onlining/offliningmm/memory_hotplug.c+10 -03 repliesApplied
3/10mm/memory_hotplug: simplify page offliningmm/memory_hotplug.c+10 -367 repliesApplied
4/10mm/page_alloc: simplify __offline_isolated_pages()include/linux/memory_hotplug.h mm/page_alloc.c+6 -251 replyApplied
5/10mm/memory_hotplug: drop nr_isolate_pageblock in offline_pages()mm/memory_hotplug.c+2 -31 replyApplied
6/10mm/page_isolation: simplify return value of start_isolate_page_range()mm/memory_hotplug.c mm/page_alloc.c mm/page_isolation.c+4 -71 replyApplied
7/10mm/memory_hotplug: simplify page onliningmm/memory_hotplug.c+10 -281 replyApplied
8/10mm/page_alloc: drop stale pageblock comment in memmap_init_zone*()mm/page_alloc.c+2 -121 replyApplied
9/10mm: pass migratetype into memmap_init_zone() and move_pfn_range_to_zone()arch/ia64/mm/init.c include/linux/memory_hotplug.h include/linux/mm.h +3 more+28 -171 replyApplied
10/10mm/memory_hotplug: mark pageblocks MIGRATE_ISOLATE while onlining memorymm/Kconfig mm/memory_hotplug.c+23 -111 replyApplied

Reviews trailers per patch

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

PatchMichal HockoOscar SalvadorPankaj Gupta
1/10A-b R-b R-b
2/10A-b R-b
3/10A-b A-b A-b R-b R-b R-b
4/10A-b R-b
5/10A-b R-b
6/10A-b R-b
7/10A-b R-b
8/10A-b R-b
9/10A-b R-b
10/10A-b R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v2 thread

Cover letter [PATCH v2 00/10] mm/memory_hotplug: online_pages()/offline_pages() cleanups

These are a bunch of cleanups for online_pages()/offline_pages() and related code, mostly getting rid of memory hole handling that is no longer necessary. There is only a single walk_system_ram_range() call left in offline_pages(), to make sure we don't have any memory holes. I had some of these patches lying around for a longer time but didn't have time to polish them.

In addition, the last patch marks all pageblocks of memory to get onlined MIGRATE_ISOLATE, so pages that have just been exposed to the buddy cannot get allocated before onlining is complete. Once heavy lifting is done, the pageblocks are set to MIGRATE_MOVABLE, such that allocations are possible.

I played with DIMMs and virtio-mem on x86-64 and didn't spot any surprises. I verified that the numer of isolated pageblocks is correctly handled when onlining/offlining.

v1 -> v2:
- "mm/memory_hotplug: enforce section granularity when onlining/offlining" -- Extended the patch description regarding alignment requirements -- Fixed a typo
- Squashed "mm/memory_hotplug: simplify offlining of pages in offline_pages()" and "mm/memory_hotplug: simplify checking if all pages are isolated in offline_pages()", resulting in "mm/memory_hotplug: simplify page offlining"
- Added ACKs

David Hildenbrand (10):
mm/memory_hotplug: inline __offline_pages() into offline_pages() mm/memory_hotplug: enforce section granularity when onlining/offlining mm/memory_hotplug: simplify page offlining
mm/page_alloc: simplify __offline_isolated_pages() mm/memory_hotplug: drop nr_isolate_pageblock in offline_pages() mm/page_isolation: simplify return value of start_isolate_page_range() mm/memory_hotplug: simplify page onlining
mm/page_alloc: drop stale pageblock comment in memmap_init_zone*()
mm: pass migratetype into memmap_init_zone() and
move_pfn_range_to_zone()
mm/memory_hotplug: mark pageblocks MIGRATE_ISOLATE while onlining
memory

 arch/ia64/mm/init.c            |   4 +-
 include/linux/memory_hotplug.h |   7 +-
 include/linux/mm.h             |   3 +-
 mm/Kconfig                     |   2 +-
 mm/memory_hotplug.c            | 156 ++++++++++++++-------------------
 mm/memremap.c                  |   3 +-
 mm/page_alloc.c                |  64 ++++----------
 mm/page_isolation.c            |   7 +-
 8 files changed, 98 insertions(+), 148 deletions(-)
Signature · 1 line
2.26.2