Thread (12 messages) 12 messages, 5 authors, 2021-02-26

Re: [PATCH v7 1/1] mm/page_alloc.c: refactor initialization of struct page for holes in memory layout

From: Vlastimil Babka <hidden>
Date: 2021-02-26 11:09:12
Also in: lkml, stable

On 2/26/21 11:59 AM, Mike Rapoport wrote:
On Thu, Feb 25, 2021 at 07:38:44PM +0100, Vlastimil Babka wrote:
quoted
On 2/25/21 7:05 PM, Mike Rapoport wrote:
quoted
quoted
What if two zones are adjacent? I.e. if the hole was at a boundary between two
zones.
What do you mean by "adjacent zones"? If there is a hole near the zone
boundary, zone span would be clamped to exclude the hole.
Yeah, zone span should exclude those pages, but you still somehow handle them?
That's how I read "pages that are not spanned by any node will get links to the
adjacent zone/node."
So is it always a unique zone/node can be determined?

Let's say we have:

<memory on node 0>
---- pageblock boundary ----
<more memory on node 0>
<a hole>
<memory on node 1>
---- pageblock boundary ----

Now I hope such configurations don't really exist :) But if we simulated them in
QEMU, what would be the linkage in struct pages in that hole?
I don't think such configuration is possible in practice but it can be
forced with e.g memmap="2M hole at 4G - 1M".
Right.
The hole in your example the hole will get node1 for node and zone that
spans the beginning of node1 for zone.
Yeah the comments in v8 make that clear now, thanks!

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help