The memory hierarchy is getting more complicated and the kernel is playing an increasing role in managing the different tiers. A few different groups of folks described "migration" optimizations they were doing in this area at LSF/MM earlier this year. One of the questions folks asked was why autonuma wasn't being used. At Intel, the primary new tier that we're looking at is persistent memory (PMEM). We'd like to be able to use "persistent memory" *without* using its persistence properties, treating it as slightly slower DRAM. Keith Busch has some patches to use NUMA migration to automatically migrate DRAM->PMEM instead of discarding it near the end of the reclaim process. Huang Ying has some patches which use a modified autonuma to migrate frequently-used data *back* from PMEM->DRAM. We've tried to do this all generically so that it is not tied to persistent memory and can be applied to any memory types in lots of topologies. We've been running this code in various forms for the past few months, comparing it to pure DRAM and hardware-based caching. The initial results are encouraging and we thought others might want to take a look at the code or run their own experiments. We're expecting to post the individual patches soon. But, until then, the code is available here: https://git.kernel.org/pub/scm/linux/kernel/git/vishal/tiering.git and is tagged with "tiering-0.2", aka. d8e31e81b1dca9. Note that internally folks have been calling this "hmem" which is terribly easy to confuse with the existing hmm. There are still some "hmem"'s in the tree, but I don't expect them to live much longer.