Re: [PATCH 0/2] handle memoryless nodes more appropriately

From: Qi Zheng
Date: Wed Feb 15 2023 - 18:11:51 EST




On 2023/2/16 00:36, Michal Hocko wrote:
On Wed 15-02-23 23:24:10, Qi Zheng wrote:
Hi all,

Currently, in the process of initialization or offline memory, memoryless
nodes will still be built into the fallback list of itself or other nodes.

This is not what we expected, so this patch series removes memoryless
nodes from the fallback list entirely.

Comments and suggestions are welcome.

Hi Michal,


This is a tricky area full of surprises and it is really easy to

Would you mind giving an example of a "new problem"?

introduce new problems. What kind of problem/issue are you trying to
solve/handle by these changes?

IIUC, I think there are two reasons:

Firstly, as mentioned in commit message, the memoryless node has no
memory to allocate (If it can be allocated, it may also cause the panic
I mentioned in [1]), so we should not continue to traverse it when
allocating memory at runtime, which will have a certain overhead.

Secondly, from the perspective of semantic correctness, why do we remove
the memoryless node from the fallback list of other normal nodes
(N_MEMORY), but not from its own fallback list (PATCH[1/2])? Why should
an upcoming memoryless node continue exist in the fallback list of
itself and other normal nodes (PATCH[2/2])?

Please let me know if I missed something.


[1] https://lore.kernel.org/lkml/20230212110305.93670-1-zhengqi.arch@xxxxxxxxxxxxx/

Thanks,
Qi