Messages in this thread | | | Date | Fri, 20 Oct 2023 17:09:37 +0800 | Subject | Re: [PATCH v3 1/2] mm: page_alloc: skip memoryless nodes entirely | From | Qi Zheng <> |
| |
On 2023/10/20 16:31, Ingo Molnar wrote: > > * 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
Will fix the typos above.
> > Acked-by: Ingo Molnar <mingo@kernel.org>
Thanks.
> > Thanks, > > Ingo
| |