6 Oct 2008 pedro   » (Journeyer)

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.

Syndicated 2008-10-06 16:50:26 from (l)andscape: (a)lien

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!