On Sat, 26 May 2012, Linus Torvalds wrote: > > I'm a *firm* believer that if it cannot be done automatically "well > enough", the absolute last thing we should ever do is worry about the > crazy people who think they can tweak it to perfection with complex > interfaces. > > You can't do it, except for trivial loads (often benchmarks), and for > very specific machines. NUMA APIs already exist that allow tuning for the NUMA cases by allowing the application to specify where to get memory from and where to run the threads of a process. Those require the application to be aware of the NUMA topology and exploit the capabilities there explicitly. Typically one would like to reserve processors and memory for a single application that then does the distribution of the load on its own. NUMA aware applications like that do not benefit and do not need either of the mechanisms proposed here. What these automatic migration schemes (autonuma is really a bad term for this. These are *migration* schemes where the memory is moved between NUMA nodes automatically so call it AutoMigration if you like) try to do is to avoid the tuning bits and automatically distribute generic process loads in a NUMA aware fashion in order to improve performance. This is no easy task since the cost of migrating a page is much more expensive that the additional latency due to access of memory from a distant node. A huge number of accesses must occur in order to amortize the migration of a page. Various companies in decades past have tried to implement automigration schemes without too much success. I think the proof that we need is that a general mix of applications actually benefits from an auto migration scheme. I would also like to see that it does no harm to existing NUMA aware applications. -- 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/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>