lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 7 Jan 2010 11:01:06 +1100 From: Anton Blanchard <anton@...ba.org> To: David Rientjes <rientjes@...gle.com> Cc: Rusty Russell <rusty@...tcorp.com.au>, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, "H. Peter Anvin" <hpa@...or.com>, x86@...nel.org, linux-kernel@...r.kernel.org Subject: Re: [patch 6/6] x86: cpumask_of_node() should handle -1 as a node Hi David, > This seems to be the same semantics that NUMA_NO_NODE was defined for, > it's not necessarily a special case. > > Regardless, the result of cpumask_of_node(NUMA_NO_NODE) should be > undefined as it currently is unless you want to obsolete NUMA_NO_NODE > entirely which is much more work. In other words, special-casing a nid of > -1 to mean no affinity is inappropriate if NUMA_NO_NODE represents an > invalid nid. > > If x86 pci buses want to use -1 to imply that meaning, that's fine, but it > shouldn't be coded in a generic interface such as cpumask_of_node(). Does > that make sense? I wasn't using the example to strengthen the case of the -1 behaviour, but to highlight that a complete fix would be more work and risk not making it back to -stable. I'm all for removing the special case as a followon patch. > > Speaking of invalid node ids, I also noticed the scheduler isn't using > > node iterators: > > > > for (i = 0; i < nr_node_ids; i++) { > > > > which should be fixed at some stage too since it doesn't allow us to > > allocate the node structures sparsely. > > That loop has nothing to do with the allocation of a node structure, it's > quite plausible that it checks for various states such as node_online(i) > while looping and doing something else interesting for those that are > offline. Keep in mind that this isn't equivalent to using for_each_node() > since that only iterates over N_POSSIBLE which is architecture specific. Yeah I understand it isn't the same thing, but the scheduler oopses in a number of places with CPUMASK_OFFSTACK and sparse node ids, so things that can be switched to node iterators should and node_online() checks should be added elsewhere. Anton -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists