On 12/4/18 9:56 AM, Michal Hocko wrote: >> The device's node num is 2. And in my case, I used nr_cpus param. Due >> to init_cpu_to_node() initialize all the possible node. It is hard >> for me to figure out without this param, how zonelists is accessed >> before page allocator works. > I believe we should focus on this. Why does the node have no zonelist > even though all zonelists should be initialized already? Maybe this is > nr_cpus pecularity and we do not initialize all the existing numa nodes. > Or maybe the device is associated to a non-existing node with that > setup. A full dmesg might help us here. Yes, a full dmesg should contain line such as this one: [ 0.137407] Built 1 zonelists, mobility grouping on. Total pages: 6181664 That should at least tell us if nr_cpus=X resulted in some node's zonelists not being built.