On Tue, 6 Mar 2007, Mark Gross wrote: > > Is do_migrate_pages() currently unsatisfactory for this? > > This looks like it should be good for this application! How stable is > this? The next phase of this work is to export the policy interfaces > and hook up the page migration. I'm somewhat new to the mm code. > Since you've already used a NUMA approach to flagging PM-memory, you'd probably want to use this interface through mempolicy in your migration. There's currently work to do lockless VMA scanning that was posted just yesterday to linux-mm and that's a bottleneck in this migration. Take a look at update_nodemask() in kernel/cpuset.c for how it migrates pages from a source set of nodes to a destination set using memory_migrate. The cpuset specifics are explained in Documentation/cpusets.txt, but the basics are that you'll want to use memory_migrate to start the migration when you remove a node from your nodemask (another reason why I suggested the use of a nodemask instead of a simple array). David