linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: linux-mm@kvack.org, David Hildenbrand <david@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Baoquan He <bhe@redhat.com>,
	Charan Teja Reddy <charante@codeaurora.org>,
	Dan Williams <dan.j.williams@intel.com>,
	Fenghua Yu <fenghua.yu@intel.com>,
	Logan Gunthorpe <logang@deltatee.com>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Mel Gorman <mgorman@suse.de>, Michal Hocko <mhocko@suse.com>,
	Michel Lespinasse <walken@google.com>,
	Mike Rapoport <rppt@kernel.org>,
	Oscar Salvador <osalvador@suse.de>,
	Pankaj Gupta <pankaj.gupta.linux@gmail.com>,
	Tony Luck <tony.luck@intel.com>,
	Wei Yang <richard.weiyang@linux.alibaba.com>
Subject: [PATCH v1 00/11] mm/memory_hotplug: online_pages()/offline_pages() cleanups
Date: Wed, 19 Aug 2020 12:11:46 +0200	[thread overview]
Message-ID: <20200819101157.12723-1-david@redhat.com> (raw)

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



             reply	other threads:[~2020-08-19 10:12 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-19 10:11 David Hildenbrand [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200819101157.12723-1-david@redhat.com \
    --to=david@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=bhe@redhat.com \
    --cc=charante@codeaurora.org \
    --cc=dan.j.williams@intel.com \
    --cc=fenghua.yu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=logang@deltatee.com \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.com \
    --cc=osalvador@suse.de \
    --cc=pankaj.gupta.linux@gmail.com \
    --cc=richard.weiyang@linux.alibaba.com \
    --cc=rppt@kernel.org \
    --cc=tony.luck@intel.com \
    --cc=walken@google.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox