From: David Hildenbrand <david@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: virtualization@lists.linux-foundation.org, linux-mm@kvack.org,
David Hildenbrand <david@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Baoquan He <bhe@redhat.com>, Jason Wang <jasowang@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
Michal Hocko <mhocko@suse.com>,
Mike Kravetz <mike.kravetz@oracle.com>,
Mike Rapoport <rppt@kernel.org>,
Mike Rapoport <rppt@linux.ibm.com>,
Pankaj Gupta <pankaj.gupta.linux@gmail.com>,
Qian Cai <cai@lca.pw>
Subject: [PATCH v5 0/6] mm / virtio-mem: support ZONE_MOVABLE
Date: Sun, 16 Aug 2020 14:53:27 +0200 [thread overview]
Message-ID: <20200816125333.7434-1-david@redhat.com> (raw)
For 5.10. Patch #1-#4,#6 have RBs or ACKs, patch #5 is virtio-mem stuff
maintained by me. This should go via the -mm tree.
---
When introducing virtio-mem, the semantics of ZONE_MOVABLE were rather
unclear, which is why we special-cased ZONE_MOVABLE such that partially
plugged blocks would never end up in ZONE_MOVABLE.
Now that the semantics are much clearer (and are documented in patch #6),
let's support partially plugged memory blocks in ZONE_MOVABLE, allowing
partially plugged memory blocks to be online to ZONE_MOVABLE and also
unplugging from such memory blocks. This avoids surprises when onlining
of memory blocks suddenly fails, just because they are not completely
populated by virtio-mem (yet).
This is especially helpful for testing, but also paves the way for
virtio-mem optimizations, allowing more memory to get reliably unplugged.
Cleanup has_unmovable_pages() and set_migratetype_isolate(), providing
better documentation of how ZONE_MOVABLE interacts with different kind of
unmovable pages (memory offlining vs. alloc_contig_range()).
v4 -> v5:
- Rename "mm/page_isolation: don't dump_page(NULL) in
set_migratetype_isolate()" to "mm/page_isolation: exit early when
pageblock is isolated in set_migratetype_isolate()" as I was messing
up things while reshuffling patches (dump_page(NULL) could never happen,
only the WARN_ON_ONCE())
-- Clarify in the description that this is currently a cleanup only
- "mm: document semantics of ZONE_MOVABLE"
-- Clarified in the memory hole case, that kernelcore/movablecore is
required to create such rare special cases
v3 -> v4:
- "mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate()"
-- Fix typo in description
- "virtio-mem: don't special-case ZONE_MOVABLE"
-- Add more details why we initialli special-cased ZONE_MOVABLE (via MST)
- "mm: document semantics of ZONE_MOVABLE"
-- Rephrase some parts of documentation (via Mike)
v2 -> v3:
- "mm: document semantics of ZONE_MOVABLE"
-- Fix a typo
v1 -> v2:
- "mm/page_isolation: don't dump_page(NULL) in set_migratetype_isolate()"
-- Move to position 1, add Fixes: tag
-- Drop unused "out:" label
- "mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate()"
-- Keep curly braces on "else" case
- Replace "[PATCH v1 5/6] mm/page_alloc: restrict ZONE_MOVABLE optimization
in has_unmovable_pages() to memory offlining"
by "mm: document semantics of ZONE_MOVABLE"
-- Brain dump of what I know about ZONE_MOVABLE
David Hildenbrand (6):
mm/page_alloc: tweak comments in has_unmovable_pages()
mm/page_isolation: exit early when pageblock is isolated in
set_migratetype_isolate()
mm/page_isolation: drop WARN_ON_ONCE() in set_migratetype_isolate()
mm/page_isolation: cleanup set_migratetype_isolate()
virtio-mem: don't special-case ZONE_MOVABLE
mm: document semantics of ZONE_MOVABLE
drivers/virtio/virtio_mem.c | 47 +++++++------------------------------
include/linux/mmzone.h | 35 +++++++++++++++++++++++++++
mm/page_alloc.c | 22 +++++------------
mm/page_isolation.c | 39 ++++++++++++++----------------
4 files changed, 66 insertions(+), 77 deletions(-)
--
2.26.2
next reply other threads:[~2020-08-16 12:53 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-16 12:53 David Hildenbrand [this message]
2020-08-16 12:53 ` [PATCH v5 1/6] mm/page_alloc: tweak comments in has_unmovable_pages() David Hildenbrand
2020-08-16 12:53 ` [PATCH v5 2/6] mm/page_isolation: exit early when pageblock is isolated in set_migratetype_isolate() David Hildenbrand
2020-08-16 12:53 ` [PATCH v5 3/6] mm/page_isolation: drop WARN_ON_ONCE() " David Hildenbrand
2020-08-16 12:53 ` [PATCH v5 4/6] mm/page_isolation: cleanup set_migratetype_isolate() David Hildenbrand
2020-08-16 12:53 ` [PATCH v5 5/6] virtio-mem: don't special-case ZONE_MOVABLE David Hildenbrand
2020-08-16 12:53 ` [PATCH v5 6/6] mm: document semantics of ZONE_MOVABLE David Hildenbrand
2020-08-21 8:31 ` [PATCH v5 0/6] mm / virtio-mem: support ZONE_MOVABLE David Hildenbrand
2020-08-21 8:45 ` David Hildenbrand
2020-08-21 20:55 ` Andrew Morton
2020-09-08 10:43 ` David Hildenbrand
2020-08-21 8:46 ` Baoquan He
2020-08-21 8:48 ` 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=20200816125333.7434-1-david@redhat.com \
--to=david@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=bhe@redhat.com \
--cc=cai@lca.pw \
--cc=jasowang@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=mike.kravetz@oracle.com \
--cc=mst@redhat.com \
--cc=pankaj.gupta.linux@gmail.com \
--cc=rppt@kernel.org \
--cc=rppt@linux.ibm.com \
--cc=virtualization@lists.linux-foundation.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