From: Vivek T. <vt...@nc...> - 2008-07-05 20:35:26
|
Hi Vijay, I have also used move_pages() in my thesis to move very high number of pages ( >100 K). Apparently, there is another way to move pages, which is through mbind() syscall with MPOL_MF_MOVE_PAGE flag. In a micro-benchmark, I found that mbind takes really less time as compared to move_pages(). The simple test case allocates a large number of pages (linearly contiguous) on one node and then uses either move_pages or mbind to initiate migration on a different note. I found that for high number of pages (> 20 K), the difference is of the order of 100x. I don't have an answer to this. I did some theoretical calculations (based on the NUMA interconnect bandwidth and the amount of data to be migrated) and it looks that mbind is probably a truer representation of the migration time. Please let me know if someone has an answer for this. I myself don't have a NUMA system with super user access to test it out and both these interfaces internally use migrate_pages() in the kernel to do the actual migration. Regards, Vivek Thakkar On 7/3/08, Vijay Kumar <vij...@br...> wrote: > > Christoph Lameter wrote: > >> Mlocked pages are movable. Posix states that mlock means that the pages >> cannot be evicted. And the VM people agreed to work with that strict >> definition. Moving a page does not evict the page from memory. We >> therefore follow posix prescribed behavior. >> > > Thanks for the explanation Christoph. Also, it would be great if can you > help us by reviewing the other test cases for move_pages(), > the patch is available at > http://marc.info/?l=ltp-list&m=121482827215098&w=2 > > Regards, > Vijay > -- - Vivek Thakkar Graduate Intern, Intel |