On Mon, Sep 23, 2019 at 06:52:35PM +0200, Michal Hocko wrote: > On Mon 23-09-19 17:48:52, Peter Zijlstra wrote: > To the NUMA_NO_NODE itself. Your earlier email noted: > : > + > : > if ((unsigned)node >= nr_node_ids) { > : > printk(KERN_WARNING > : > "cpumask_of_node(%d): (unsigned)node >= nr_node_ids(%u)\n", > : > : I still think this makes absolutely no sense what so ever. > > Did you mean the NUMA_NO_NODE handling or the specific node >= nr_node_ids > check? The NUMA_NO_NODE thing. It's is physical impossibility. And if the device description doesn't give us a node, then the description is incomplete and wrong and we should bloody well complain about it. > Because as to NUMA_NO_NODE I believe this makes sense because this is > the only way that a device is not bound to any numa node. Which is a physical impossibility. > I even the > ACPI standard is considering this optional. Yunsheng Lin has referred to > the specific part of the standard in one of the earlier discussions. > Trying to guess the node affinity is worse than providing all CPUs IMHO. I'm saying the ACPI standard is wrong. Explain to me how it is physically possible to have a device without NUMA affinity in a NUMA system? 1) The fundamental interconnect is not uniform. 2) The device needs to actually be somewhere. >From these it seems to follow that access to the device is subject to NUMA.