Messages in this thread | | | Date | Fri, 20 Oct 2023 10:31:08 +0200 | From | Ingo Molnar <> | Subject | Re: [PATCH v3 1/2] mm: page_alloc: skip memoryless nodes entirely |
| |
* Qi Zheng <zhengqi.arch@bytedance.com> wrote:
> In find_next_best_node(), We skipped the memoryless nodes
s/We /we
s/the memoryless nodes /memoryless nodes
> when building the zonelists of other normal nodes (N_NORMAL), > but did not skip the memoryless node itself when building > the zonelist. This will cause it to be traversed at runtime. > > For example, say we have node0 and node1, node0 is memoryless > node, then the fallback order of node0 and node1 as follows: > > [ 0.153005] Fallback order for Node 0: 0 1 > [ 0.153564] Fallback order for Node 1: 1 > > After this patch, we skip memoryless node0 entirely, then > the fallback order of node0 and node1 as follows:
s/fallback /fall back
> > [ 0.155236] Fallback order for Node 0: 1 > [ 0.155806] Fallback order for Node 1: 1 > > So it becomes completely invisible, which will reduce runtime > overhead. > > And in this way, we will not try to allocate pages from memoryless > node0, then the panic mentioned in [1] will also be fixed. Even though > this problem has been solved by dropping the NODE_MIN_SIZE constrain > in x86 [2], it would be better to fix it in core MM as well.
s/in core MM /in the core MM
> [1]. https://lore.kernel.org/all/20230212110305.93670-1-zhengqi.arch@bytedance.com/ > [2]. https://lore.kernel.org/all/20231017062215.171670-1-rppt@kernel.org/ > > Signed-off-by: Qi Zheng <zhengqi.arch@bytedance.com> > Acked-by: David Hildenbrand <david@redhat.com>
> + /* > + * Use the local node if we haven't already. But for memoryless local > + * node, we should skip it and fallback to other nodes.
s/fallback /fall back
s/already. But /already, but
Acked-by: Ingo Molnar <mingo@kernel.org>
Thanks,
Ingo
| |