aboutsummaryrefslogtreecommitdiffstats
path: root/litmus/litmus.c
diff options
context:
space:
mode:
Diffstat (limited to 'litmus/litmus.c')
-rw-r--r--litmus/litmus.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/litmus/litmus.c b/litmus/litmus.c
index 88cc3e043b0b..6c2c82565281 100644
--- a/litmus/litmus.c
+++ b/litmus/litmus.c
@@ -392,11 +392,14 @@ static struct page *walk_page_table(unsigned long addr)
392extern int isolate_lru_page(struct page *page); 392extern int isolate_lru_page(struct page *page);
393extern void putback_lru_page(struct page *page); 393extern void putback_lru_page(struct page *page);
394 394
395extern struct page *new_alloc_page(struct page *page, unsigned long node, int **x);
396
397#if 0
395static struct page *new_alloc_page(struct page *page, unsigned long node, int **x) 398static struct page *new_alloc_page(struct page *page, unsigned long node, int **x)
396{ 399{
397 return alloc_pages_exact_node(node, GFP_HIGHUSER_MOVABLE, 0); 400 return alloc_pages_exact_node(node, GFP_HIGHUSER_MOVABLE, 0);
398} 401}
399 402#endif
400asmlinkage long sys_set_page_color(int cpu) 403asmlinkage long sys_set_page_color(int cpu)
401{ 404{
402 long ret = 0; 405 long ret = 0;
@@ -423,8 +426,8 @@ asmlinkage long sys_set_page_color(int cpu)
423 */ 426 */
424 num_pages = (vma_itr->vm_end - vma_itr->vm_start) / PAGE_SIZE; 427 num_pages = (vma_itr->vm_end - vma_itr->vm_start) / PAGE_SIZE;
425 // print vma flags 428 // print vma flags
426 //printk(KERN_INFO "flags: 0x%lx\n", vma_itr->vm_flags); 429 printk(KERN_INFO "flags: 0x%lx\n", vma_itr->vm_flags);
427 //printk(KERN_INFO "start - end: 0x%lx - 0x%lx (%lu)\n", vma_itr->vm_start, vma_itr->vm_end, (vma_itr->vm_end - vma_itr->vm_start)/PAGE_SIZE); 430 printk(KERN_INFO "start - end: 0x%lx - 0x%lx (%lu)\n", vma_itr->vm_start, vma_itr->vm_end, (vma_itr->vm_end - vma_itr->vm_start)/PAGE_SIZE);
428 431
429 for (i = 0; i < num_pages; i++) { 432 for (i = 0; i < num_pages; i++) {
430/* 433/*
@@ -447,7 +450,7 @@ asmlinkage long sys_set_page_color(int cpu)
447 //if (pfn_valid(__page_to_pfn(old_page))) 450 //if (pfn_valid(__page_to_pfn(old_page)))
448 if (!ret) { 451 if (!ret) {
449 //printk(KERN_INFO "page_mapcount = %d\n", page_mapcount(old_page)); 452 //printk(KERN_INFO "page_mapcount = %d\n", page_mapcount(old_page));
450 printk(KERN_INFO "addr: %lu, pfn: %lu mapcount: %d\n", vma_itr->vm_start + PAGE_SIZE*i, __page_to_pfn(old_page), page_mapcount(old_page)); 453 printk(KERN_INFO "addr: %lu, pfn: %lu %08x mapcount: %d\n", vma_itr->vm_start + PAGE_SIZE*i, __page_to_pfn(old_page), page_to_phys(old_page), page_mapcount(old_page));
451 list_add_tail(&old_page->lru, &pagelist); 454 list_add_tail(&old_page->lru, &pagelist);
452 inc_zone_page_state(old_page, NR_ISOLATED_ANON + !PageSwapBacked(old_page)); 455 inc_zone_page_state(old_page, NR_ISOLATED_ANON + !PageSwapBacked(old_page));
453 nr_pages++; 456 nr_pages++;
@@ -464,7 +467,7 @@ put_and_next:
464 467
465 ret = 0; 468 ret = 0;
466 if (!list_empty(&pagelist)) { 469 if (!list_empty(&pagelist)) {
467 ret = migrate_pages(&pagelist, new_alloc_page, 0, MIGRATE_ASYNC, MR_SYSCALL); 470 ret = migrate_pages(&pagelist, new_alloc_page, 4, MIGRATE_ASYNC, MR_SYSCALL);
468 if (ret) { 471 if (ret) {
469 printk(KERN_INFO "%ld pages not migrated.\n", ret); 472 printk(KERN_INFO "%ld pages not migrated.\n", ret);
470 putback_lru_pages(&pagelist); 473 putback_lru_pages(&pagelist);