linux-kernel.vger.kernel.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 v2 00/10] mm/memory_hotplug: online_pages()/offline_pages() cleanups
Date: Wed, 19 Aug 2020 19:59:47 +0200	[thread overview]
Message-ID: <20200819175957.28465-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.

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(-)

-- 
2.26.2


             reply	other threads:[~2020-08-19 18:00 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-19 17:59 David Hildenbrand [this message]
2020-08-19 17:59 ` [PATCH v2 01/10] mm/memory_hotplug: inline __offline_pages() into offline_pages() David Hildenbrand
2020-08-24 10:26   ` Oscar Salvador
2020-08-31 10:05   ` Pankaj Gupta
2020-08-19 17:59 ` [PATCH v2 02/10] mm/memory_hotplug: enforce section granularity when onlining/offlining David Hildenbrand
2020-08-24 10:39   ` Oscar Salvador
2020-08-25  2:11     ` Wei Yang
2020-09-08  9:14       ` David Hildenbrand
2020-08-19 17:59 ` [PATCH v2 03/10] mm/memory_hotplug: simplify page offlining David Hildenbrand
2020-08-24 10:44   ` Oscar Salvador
2020-09-03 21:58   ` Andrew Morton
2020-09-04  5:47     ` David Hildenbrand
2020-09-04  7:46       ` Michal Hocko
2020-09-04 19:21       ` Andrew Morton
2020-09-07  6:45         ` Michal Hocko
2020-09-08  9:10           ` David Hildenbrand
2020-08-19 17:59 ` [PATCH v2 04/10] mm/page_alloc: simplify __offline_isolated_pages() David Hildenbrand
2020-08-24 10:48   ` Oscar Salvador
2020-08-19 17:59 ` [PATCH v2 05/10] mm/memory_hotplug: drop nr_isolate_pageblock in offline_pages() David Hildenbrand
2020-08-24 10:49   ` Oscar Salvador
2020-08-19 17:59 ` [PATCH v2 06/10] mm/page_isolation: simplify return value of start_isolate_page_range() David Hildenbrand
2020-08-24 10:51   ` Oscar Salvador
2020-08-19 17:59 ` [PATCH v2 07/10] mm/memory_hotplug: simplify page onlining David Hildenbrand
2020-08-24 10:55   ` Oscar Salvador
2020-08-19 17:59 ` [PATCH v2 08/10] mm/page_alloc: drop stale pageblock comment in memmap_init_zone*() David Hildenbrand
2020-08-24 10:58   ` Oscar Salvador
2020-08-19 17:59 ` [PATCH v2 09/10] mm: pass migratetype into memmap_init_zone() and move_pfn_range_to_zone() David Hildenbrand
2020-08-24 11:59   ` Oscar Salvador
2020-08-19 17:59 ` [PATCH v2 10/10] mm/memory_hotplug: mark pageblocks MIGRATE_ISOLATE while onlining memory David Hildenbrand
2020-08-24 12:07   ` Oscar Salvador

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=20200819175957.28465-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;
as well as URLs for NNTP newsgroup(s).