diff options
author | Christopher Kenna <cjk@cs.unc.edu> | 2012-05-02 11:29:01 -0400 |
---|---|---|
committer | Christopher Kenna <cjk@cs.unc.edu> | 2012-05-02 11:29:01 -0400 |
commit | ba84bc13f622bf1e8dd0b35dae311117cdab1dc6 (patch) | |
tree | 39afb26bd68c10a6c81869fde13a251fe112eabc | |
parent | 2f50cc66b3000d1c927990c4cf7a973ee9269014 (diff) |
debugging
-rw-r--r-- | litmus/color.c | 9 | ||||
-rw-r--r-- | litmus/color_dev.c | 6 |
2 files changed, 12 insertions, 3 deletions
diff --git a/litmus/color.c b/litmus/color.c index dad2f07b154a..ae6c3f6b8206 100644 --- a/litmus/color.c +++ b/litmus/color.c | |||
@@ -59,13 +59,17 @@ void add_page_to_color_list(struct page *page) | |||
59 | list_add_tail(&page->lru, &cgroup->list); | 59 | list_add_tail(&page->lru, &cgroup->list); |
60 | atomic_inc(&cgroup->nr_pages); | 60 | atomic_inc(&cgroup->nr_pages); |
61 | SetPageLRU(page); | 61 | SetPageLRU(page); |
62 | SetPageReserved(page); | ||
62 | spin_unlock(&cgroup->lock); | 63 | spin_unlock(&cgroup->lock); |
63 | } | 64 | } |
64 | 65 | ||
65 | void add_page_to_alloced_list(struct page *page) | 66 | void add_page_to_alloced_list(struct page *page) |
66 | { | 67 | { |
67 | BUG_ON(in_list(&page->lru) || PageLRU(page)); | 68 | BUG_ON(in_list(&page->lru) || PageLRU(page)); |
68 | BUG_ON(!page_mapped(page) || page_count(page) < 2); | 69 | //BUG_ON(!page_mapped(page) || page_count(page) < 2); |
70 | TRACE_CUR("pfn:%d page_mapped:%d page_count:%d\n", | ||
71 | page_to_pfn(page), page_mapped(page), | ||
72 | page_count(page)); | ||
69 | spin_lock(&alloced_pages.lock); | 73 | spin_lock(&alloced_pages.lock); |
70 | list_add_tail(&page->lru, &alloced_pages.list); | 74 | list_add_tail(&page->lru, &alloced_pages.list); |
71 | SetPageLRU(page); | 75 | SetPageLRU(page); |
@@ -151,6 +155,9 @@ static int do_reclaim_pages(void) | |||
151 | unsigned long nr_reclaimed = 0; | 155 | unsigned long nr_reclaimed = 0; |
152 | spin_lock(&alloced_pages.lock); | 156 | spin_lock(&alloced_pages.lock); |
153 | list_for_each_entry_safe(page, page_tmp, &alloced_pages.list, lru) { | 157 | list_for_each_entry_safe(page, page_tmp, &alloced_pages.list, lru) { |
158 | TRACE_CUR("pfn:%8lu page_mapped:%d page_count:%d\n", | ||
159 | page_to_pfn(page), page_mapped(page), | ||
160 | page_count(page)); | ||
154 | if (1 == page_count(page) && !page_mapped(page)) { | 161 | if (1 == page_count(page) && !page_mapped(page)) { |
155 | list_del(&page->lru); | 162 | list_del(&page->lru); |
156 | ClearPageLRU(page); | 163 | ClearPageLRU(page); |
diff --git a/litmus/color_dev.c b/litmus/color_dev.c index 10ab1e6b1161..c6e500722819 100644 --- a/litmus/color_dev.c +++ b/litmus/color_dev.c | |||
@@ -179,9 +179,11 @@ static int do_map_colored_pages(struct vm_area_struct *vma) | |||
179 | TRACE_CUR(ALLOC_NAME ": insert page (pa:0x%10llx, pfn:%8lu, " | 179 | TRACE_CUR(ALLOC_NAME ": insert page (pa:0x%10llx, pfn:%8lu, " |
180 | "color:%3lu) at 0x%lx\n", page_to_phys(page), | 180 | "color:%3lu) at 0x%lx\n", page_to_phys(page), |
181 | page_to_pfn(page), this_color, addr); | 181 | page_to_pfn(page), this_color, addr); |
182 | err = vm_insert_page(vma, addr, page); | 182 | //err = vm_insert_page(vma, addr, page); |
183 | err = remap_pfn_range(vma, addr, page_to_pfn(page), | ||
184 | PAGE_SIZE, PAGE_SHARED); | ||
183 | if (err) { | 185 | if (err) { |
184 | TRACE_CUR(ALLOC_NAME ": vm_insert_page() failed " | 186 | TRACE_CUR(ALLOC_NAME ": remap_pfn_range() failed " |
185 | "(%d)\n", err); | 187 | "(%d)\n", err); |
186 | /* TODO unmap mapped pages */ | 188 | /* TODO unmap mapped pages */ |
187 | err = -EINVAL; | 189 | err = -EINVAL; |