On Wed, 20 Apr 2011, James Bottomley wrote: > 1. We can look at what imposing NUMA on the DISCONTIGMEM archs > would do ... the embedded ones are going to be hardest hit, but > if it's not too much extra code, it might be palatable. > 2. The other is that we can audit mm to look at all the node > assumptions in the non-numa case. My suspicion is that > accidentally or otherwise, it mostly works for the normal case, > so there might not be much needed to pull it back to working > properly for DISCONTIGMEM. The older code may work. SLAB f.e. does not call page_to_nid() in the !NUMA case but keeps special metadata structures around in each slab page that records the node used for allocation. The problem is with new code added/revised in the last 5 years or so that uses page_to_nid() and allocates only a single structure for !NUMA. There are also VM_BUG_ONs in the page allocator that should trigger if page_to_nid() returns strange values. I wonder why that never occurred. > 3. Finally we could look at deprecating DISCONTIGMEM in favour of > SPARSEMEM, but we'd still need to fix -stable for that case. > Especially as it will take time to convert all the architectures The fix needed is to mark DISCONTIGMEM without NUMA as broken for now. We need an audit of the core VM before removing that or making it contingent on the configurations of various VM subsystems. > I'm certainly with Matthew: DISCONTIGMEM is supposed to be a lightweight > framework which allows machines with split physical memory ranges to > work. That's a very common case nowadays. Numa is supposed to be a > heavyweight framework to preserve node locality for non-uniform memory > access boxes (which none of the DISCONTIGMEM && !NUMA systems are). Well yes but we have SPARSE for that today. DISCONTIG with multiple per pgdat structures in a !NUMA case is just weird and unexpected for many who have done VM coding in the last years. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>