linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 00/11] mm/memory_hotplug: online_pages()/offline_pages() cleanups
@ 2020-08-19 10:11 David Hildenbrand
  2020-08-19 10:11 ` [PATCH v1 01/11] mm/memory_hotplug: inline __offline_pages() into offline_pages() David Hildenbrand
                   ` (10 more replies)
  0 siblings, 11 replies; 28+ messages in thread
From: David Hildenbrand @ 2020-08-19 10:11 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-mm, David Hildenbrand, Andrew Morton, Baoquan He,
	Charan Teja Reddy, Dan Williams, Fenghua Yu, Logan Gunthorpe,
	Matthew Wilcox (Oracle),
	Mel Gorman, Michal Hocko, Michel Lespinasse, Mike Rapoport,
	Oscar Salvador, Pankaj Gupta, Tony Luck, Wei Yang

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.

David Hildenbrand (11):
  mm/memory_hotplug: inline __offline_pages() into offline_pages()
  mm/memory_hotplug: enforce section granularity when onlining/offlining
  mm/memory_hotplug: simplify checking if all pages are isolated in
    offline_pages()
  mm/memory_hotplug: simplify offlining of pages in offline_pages()
  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(-)

-- 
2.26.2



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

end of thread, other threads:[~2020-08-31 10:11 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-19 10:11 [PATCH v1 00/11] mm/memory_hotplug: online_pages()/offline_pages() cleanups David Hildenbrand
2020-08-19 10:11 ` [PATCH v1 01/11] mm/memory_hotplug: inline __offline_pages() into offline_pages() David Hildenbrand
2020-08-19 12:23   ` Michal Hocko
2020-08-19 10:11 ` [PATCH v1 02/11] mm/memory_hotplug: enforce section granularity when onlining/offlining David Hildenbrand
2020-08-19 12:37   ` Michal Hocko
2020-08-19 12:43     ` David Hildenbrand
2020-08-19 12:54       ` Michal Hocko
2020-08-19 10:11 ` [PATCH v1 03/11] mm/memory_hotplug: simplify checking if all pages are isolated in offline_pages() David Hildenbrand
2020-08-19 12:39   ` Michal Hocko
2020-08-31 10:10   ` Pankaj Gupta
2020-08-19 10:11 ` [PATCH v1 04/11] mm/memory_hotplug: simplify offlining of pages " David Hildenbrand
2020-08-19 12:40   ` Michal Hocko
2020-08-19 12:44     ` David Hildenbrand
2020-08-19 10:11 ` [PATCH v1 05/11] mm/page_alloc: simplify __offline_isolated_pages() David Hildenbrand
2020-08-19 12:48   ` Michal Hocko
2020-08-19 10:11 ` [PATCH v1 06/11] mm/memory_hotplug: drop nr_isolate_pageblock in offline_pages() David Hildenbrand
2020-08-19 12:58   ` Michal Hocko
2020-08-19 10:11 ` [PATCH v1 07/11] mm/page_isolation: simplify return value of start_isolate_page_range() David Hildenbrand
2020-08-19 13:00   ` Michal Hocko
2020-08-19 10:11 ` [PATCH v1 08/11] mm/memory_hotplug: simplify page onlining David Hildenbrand
2020-08-19 13:02   ` Michal Hocko
2020-08-19 10:11 ` [PATCH v1 09/11] mm/page_alloc: drop stale pageblock comment in memmap_init_zone*() David Hildenbrand
2020-08-19 13:05   ` Michal Hocko
2020-08-19 10:11 ` [PATCH v1 10/11] mm: pass migratetype into memmap_init_zone() and move_pfn_range_to_zone() David Hildenbrand
2020-08-19 13:08   ` Michal Hocko
2020-08-19 10:11 ` [PATCH v1 11/11] mm/memory_hotplug: mark pageblocks MIGRATE_ISOLATE while onlining memory David Hildenbrand
2020-08-19 13:16   ` Michal Hocko
2020-08-19 13:19     ` David Hildenbrand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).