From 267b5fb8e3786eee621d434e4892020edd0fdf72 Mon Sep 17 00:00:00 2001 From: Namhoon Kim Date: Fri, 30 Sep 2016 03:43:08 -0400 Subject: Add Level C support --- litmus/litmus.c | 8 ++++++-- mm/migrate.c | 4 ++-- mm/rmap.c | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/litmus/litmus.c b/litmus/litmus.c index 6088de312bb5..652e70df69bb 100644 --- a/litmus/litmus.c +++ b/litmus/litmus.c @@ -450,6 +450,7 @@ asmlinkage long sys_set_page_color(int cpu) TRACE_TASK(current, "SHARED isolate_lru_page success\n"); } else { TRACE_TASK(current, "SHARED isolate_lru_page failed\n"); + nr_failed++; } put_page(old_page); } @@ -513,7 +514,10 @@ asmlinkage long sys_set_page_color(int cpu) } */ if (!list_empty(&task_shared_pagelist)) { - ret = replicate_pages(&task_shared_pagelist, new_alloc_page, NULL, node, MIGRATE_SYNC, MR_SYSCALL); + if (node != 8) + ret = replicate_pages(&task_shared_pagelist, new_alloc_page, NULL, node, MIGRATE_SYNC, MR_SYSCALL); + else + ret = nr_shared_pages; TRACE_TASK(current, "%ld shared pages not migrated.\n", ret); nr_not_migrated += ret; if (ret) { @@ -536,7 +540,7 @@ asmlinkage long sys_set_page_color(int cpu) TRACE_TASK(current, "nr_pages = %d nr_failed = %d\n", nr_pages, nr_failed); - printk(KERN_INFO "node = %ld, nr_migrated_pages = %d, nr_shared_pages = %d, nr_failed = %d\n", node, nr_pages-nr_not_migrated, nr_shared_pages, nr_failed); + printk(KERN_INFO "node = %ld, nr_private_pages = %d, nr_shared_pages = %d, nr_failed_to_isolate_lru = %d, nr_not_migrated = %d\n", node, nr_pages, nr_shared_pages, nr_failed, nr_not_migrated); flush_cache(1); /* for debug START */ diff --git a/mm/migrate.c b/mm/migrate.c index dbb46068a3f3..0df1841282eb 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1418,11 +1418,11 @@ static ICE_noinline int unmap_and_copy(new_page_t get_new_page, newpage = get_new_page(page, private, &result); if (!newpage) return -ENOMEM; - printk(KERN_ERR "Page %lx allocated\n", page_to_pfn(newpage)); + //printk(KERN_ERR "Page %lx allocated\n", page_to_pfn(newpage)); } else { newpage = lib_page->r_page; has_replica = 1; - printk(KERN_ERR "Page %lx found\n", page_to_pfn(newpage)); + //printk(KERN_ERR "Page %lx found\n", page_to_pfn(newpage)); } if (page_count(page) == 1) { diff --git a/mm/rmap.c b/mm/rmap.c index 86678671506b..48c48c76b90f 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -1424,7 +1424,7 @@ static int try_to_unmap_one_entry(struct page *page, struct vm_area_struct *vma, swp_entry_t entry; entry = make_migration_entry(page, pte_write(pteval)); set_pte_at(mm, address, pte, swp_entry_to_pte(entry)); -printk(KERN_ERR "established migration entry for page %05lx PTE_WRITE = %d\n", page_to_pfn(page), pte_write(pteval)); +//printk(KERN_ERR "established migration entry for page %05lx PTE_WRITE = %d\n", page_to_pfn(page), pte_write(pteval)); } else dec_mm_counter(mm, MM_FILEPAGES); -- cgit v1.2.2