On Thu, 13 Feb 2014, Nishanth Aravamudan wrote: > There is an open issue on powerpc with memoryless nodes (inasmuch as we > can have them, but the kernel doesn't support it properly). There is a > separate discussion going on on linuxppc-dev about what is necessary for > CONFIG_HAVE_MEMORYLESS_NODES to be supported. > Yeah, and this is causing problems with the slub allocator as well. > Apologies for hijacking the thread, my comments below were purely about > the memoryless node support, not about readahead specifically. > Neither you nor Raghavendra have any reason to apologize to anybody. Memoryless node support on powerpc isn't working very well right now and you're trying to fix it, that fix is needed both in this thread and in your fixes for slub. It's great to see both of you working hard on your platform to make it work the best. I think what you'll need to do in addition to your CONFIG_HAVE_MEMORYLESS_NODE fix, which is obviously needed, is to enable CONFIG_USE_PERCPU_NUMA_NODE_ID for the same NUMA configurations and then use set_numa_node() or set_cpu_numa_node() to properly store the mapping between cpu and node rather than numa_cpu_lookup_table. Then you should be able to do away with your own implementation of cpu_to_node(). After that, I think it should be as simple as doing set_numa_node(cpu_to_node(cpu)); set_numa_mem(local_memory_node(cpu_to_node(cpu))); probably before taking vector_lock in smp_callin(). The cpu-to-node mapping should be done much earlier in boot while the nodes are being initialized, I don't think there should be any problem there. While you're at it, I think you'll also want to add a comment that setting up the cpu sibling mask must be done before the smp_wmb() before notify_cpu_starting(cpu), it's crucial to have before the cpu is brought online and why we need the store memory barrier. But, again, please don't apologize for developing your architecture and attacking bugs as they arise, it's very admirable and I'm happy to help in any way that I can. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>