Re: [PATCH v3 6/6] mm: document semantics of ZONE_MOVABLE
From: David Hildenbrand <hidden>
Date: 2020-08-04 10:04:32
Also in:
linux-mm, lkml
On 04.08.20 12:03, Mike Rapoport wrote:
On Tue, Aug 04, 2020 at 11:55:10AM +0200, David Hildenbrand wrote:quoted
On 04.08.20 11:33, Mike Rapoport wrote:quoted
On Tue, Aug 04, 2020 at 09:24:08AM +0200, David Hildenbrand wrote:quoted
Let's document what ZONE_MOVABLE means, how it's used, and which special cases we have regarding unmovable pages (memory offlining vs. migration / allocations). Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Michael S. Tsirkin <mst@redhat.com> Cc: Mike Kravetz <redacted> Cc: Mike Rapoport <rppt@kernel.org> Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com> Cc: Baoquan He <redacted> Signed-off-by: David Hildenbrand <redacted>Several nits below, othersize Acked-by: Mike Rapoport <redacted>quoted
--- include/linux/mmzone.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+)diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index f6f884970511d..600d449e7d9e9 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h@@ -372,6 +372,40 @@ enum zone_type { */ ZONE_HIGHMEM, #endif + /* + * ZONE_MOVABLE is similar to ZONE_NORMAL, except that it *primarily* + * only contains movable pages. Main use cases are to make memory"Primarily only" sounds awkward. Maybe ... except that it only contains movable pages with few exceptional cases described below. And then Main use cases for ZONE_MOVABLE are ...Ack!quoted
quoted
+ * offlining more likely to succeed, and to locally limit unmovable + * allocations - e.g., to increase the number of THP/huge pages. + * Notable special cases are: + * + * 1. Pinned pages: (Long-term) pinning of movable pages might^long, capital L looked out of place for meAck!quoted
quoted
+ * essentially turn such pages unmovable. Memory offlining might + * retry a long time. + * 2. memblock allocations: kernelcore/movablecore setups might create + * situations where ZONE_MOVABLE contains unmovable allocations + * after boot. Memory offlining and allocations fail early. + * 3. Memory holes: Such pages cannot be allocated. Applies only to + * boot memory, not hotplugged memory. Memory offlining and + * allocations fail early.I would clarify where page struct for abscent memory come fromSomething like: Memory holes: We might have a memmap for memory holes, for example, if^w ;-)quoted
we have sections that are only partially System RAM. Such pages cannot be ...How about ... sections that are only partially populated ?
Yeah, shorter. Thanks! -- Thanks, David / dhildenb _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization