Re: [PATCH v6] numa: make node_to_cpumask_map() NUMA_NO_NODE aware
From: Peter Zijlstra
Date: Mon Sep 23 2019 - 16:35:10 EST
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.