<D <M <Y
Y> M> D>

T Mon Oct 06 09:50:26 PST get_pageblock_migrationtype:

Are you a kernel newbie like me? Have you been perusing kernel code and wondering what "migration type" is or whether it's important for you to understand? Here's a link.

Page migration is about moving pages around to alleviate differences in RAM in access times. How can acccess times be different? Well, in traditional systems, they're not, because the system has only one bank of RAM, and the time to access it is always the same.

However, some new systems are NUMA systems. NUMA stands for Non Uniform Memory Access and describes a system where the memory access times are not uniform from processor to processor. For example, my dual Opteron board has two banks of RAM, one for each processor. The bank for CPU0 can hold 4G, but the bank for CPU1 can only hold 2G. As you might imagine, there are times when CPU1 needs more than 2G of RAM, so it can "borrow" from CPU0 -- but of course, memory access to the other bank will take longer than memory access to its own, local bank, so sometimes we'd like to "migrate" the data from one memory bank to another.

You can imagine how this kind of thing could get very complicated in a large multi-system cluster or in future "1000s of cores" designs.


[Main]

Unless otherwise noted, all content licensed by Peter A. H. Peterson
under a Creative Commons License.