[PATCH for 2.6.28] mm: remove unevictable's show_page_path

From: KOSAKI Motohiro
Date: Fri Nov 14 2008 - 02:25:22 EST



Andrew, very sorry for the patch posting at late -rc stage.
However, I think this patch is needed 2.6.28 and I've tested it on stress workload.

Could you please pick it up?


--------------------------------------------------
Hugh Dickins reported show_page_path() is buggy and unsafe.
because

- lack dput() against d_find_alias()
- don't concern vma->vm_mm->owner == NULL
- lack lock_page()

it was only for debugging, so rather than trying to fix it, just remove it now.



Reported-by: Hugh Dickins <hugh@xxxxxxxxxxx>
Signed-off-by: Hugh Dickins <hugh@xxxxxxxxxxx>
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
CC: Lee Schermerhorn <Lee.Schermerhorn@xxxxxx>
CC: Rik van Riel <riel@xxxxxxxxxx>
---
Needed for 2.6.28

mm/vmscan.c | 35 -----------------------------------
1 file changed, 35 deletions(-)

--- 2.6.28-rc4/mm/vmscan.c 2008-10-24 09:28:26.000000000 +0100
+++ linux/mm/vmscan.c 2008-11-12 11:52:44.000000000 +0000
@@ -2368,39 +2368,6 @@ int page_evictable(struct page *page, st
return 1;
}

-static void show_page_path(struct page *page)
-{
- char buf[256];
- if (page_is_file_cache(page)) {
- struct address_space *mapping = page->mapping;
- struct dentry *dentry;
- pgoff_t pgoff = page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT);
-
- spin_lock(&mapping->i_mmap_lock);
- dentry = d_find_alias(mapping->host);
- printk(KERN_INFO "rescued: %s %lu\n",
- dentry_path(dentry, buf, 256), pgoff);
- spin_unlock(&mapping->i_mmap_lock);
- } else {
-#if defined(CONFIG_MM_OWNER) && defined(CONFIG_MMU)
- struct anon_vma *anon_vma;
- struct vm_area_struct *vma;
-
- anon_vma = page_lock_anon_vma(page);
- if (!anon_vma)
- return;
-
- list_for_each_entry(vma, &anon_vma->head, anon_vma_node) {
- printk(KERN_INFO "rescued: anon %s\n",
- vma->vm_mm->owner->comm);
- break;
- }
- page_unlock_anon_vma(anon_vma);
-#endif
- }
-}
-
-
/**
* check_move_unevictable_page - check page for evictability and move to appropriate zone lru list
* @page: page to check evictability and move to appropriate lru list
@@ -2421,8 +2388,6 @@ retry:
if (page_evictable(page, NULL)) {
enum lru_list l = LRU_INACTIVE_ANON + page_is_file_cache(page);

- show_page_path(page);
-
__dec_zone_state(zone, NR_UNEVICTABLE);
list_move(&page->lru, &zone->lru[l].list);
__inc_zone_state(zone, NR_INACTIVE_ANON + l);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/