[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20081114155113.0D23.KOSAKI.MOTOHIRO@jp.fujitsu.com>
Date: Fri, 14 Nov 2008 16:25:01 +0900 (JST)
From: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
To: LKML <linux-kernel@...r.kernel.org>, linux-mm <linux-mm@...ck.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Hugh Dickins <hugh@...itas.com>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Lee Schermerhorn <Lee.Schermerhorn@...com>,
Rik van Riel <riel@...hat.com>
Cc: kosaki.motohiro@...fujitsu.com
Subject: [PATCH for 2.6.28] mm: remove unevictable's show_page_path
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@...itas.com>
Signed-off-by: Hugh Dickins <hugh@...itas.com>
Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>
CC: Lee Schermerhorn <Lee.Schermerhorn@...com>
CC: Rik van Riel <riel@...hat.com>
---
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists