> OK how about this version? It's somewhat ugly, but important is that the fast > path case (c->page exists) is unaffected and another common case (c->page is > NULL, but node is NUMA_NO_NODE) is just one extra check - impossible to avoid at > some point anyway. > I attempted the suggested tests. Test 1: March 18 linux-next + Patch 1 [1] + Patch 2 [2] Machine boots fine. numactl o/p after boot: # numactl -H available: 2 nodes (0-1) node 0 cpus: node 0 size: 0 MB node 0 free: 0 MB node 1 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 node 1 size: 35631 MB node 1 free: 32724 MB node distances: node 0 1 0: 10 40 1: 40 10 # Test 2: Code base as used in Test 1 + 3 patch series from Srikar [3] Machine boots fine. numactl o/p after boot: # numactl -H available: 1 nodes (1) node 1 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 node 1 size: 35631 MB node 1 free: 32711 MB node distances: node 1 1: 10 # Thanks! -Sachin [1] https://lore.kernel.org/linux-mm/e060ad43-ff4e-0e59-2e64-ce8a4916ec70@xxxxxxx/T/#mb8d0a358dc5c5fb9661fa45047072a92c510faf2 [2] https://lore.kernel.org/linux-mm/e060ad43-ff4e-0e59-2e64-ce8a4916ec70@xxxxxxx/T/#mce342e54a95ce2ee3043901e52d70ee2fd94c516 [3] https://lore.kernel.org/linux-mm/20200311110237.5731-1-srikar@xxxxxxxxxxxxxxxxxx/