All of lore.kernel.org
 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: 32+ 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-19 17:59   ` David Hildenbrand
2020-08-24 11:59   ` Oscar Salvador
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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.