[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200819101157.12723-1-david@redhat.com>
Date: Wed, 19 Aug 2020 12:11:46 +0200
From: David Hildenbrand <david@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: linux-mm@...ck.org, David Hildenbrand <david@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Baoquan He <bhe@...hat.com>,
Charan Teja Reddy <charante@...eaurora.org>,
Dan Williams <dan.j.williams@...el.com>,
Fenghua Yu <fenghua.yu@...el.com>,
Logan Gunthorpe <logang@...tatee.com>,
"Matthew Wilcox (Oracle)" <willy@...radead.org>,
Mel Gorman <mgorman@...e.de>, Michal Hocko <mhocko@...e.com>,
Michel Lespinasse <walken@...gle.com>,
Mike Rapoport <rppt@...nel.org>,
Oscar Salvador <osalvador@...e.de>,
Pankaj Gupta <pankaj.gupta.linux@...il.com>,
Tony Luck <tony.luck@...el.com>,
Wei Yang <richard.weiyang@...ux.alibaba.com>
Subject: [PATCH v1 00/11] 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.
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
Powered by blists - more mailing lists