diff options
author | Nick Piggin <nickpiggin@yahoo.com.au> | 2006-12-22 04:09:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.osdl.org> | 2006-12-22 11:55:49 -0500 |
commit | 7de6b8057976584e5a422574cae4dd21c677b4d4 (patch) | |
tree | 900bc533401715eec4e44b73e388a74f08b3f1a5 /mm/memory.c | |
parent | 19900cdee29c812857ce938ab449e1053d516252 (diff) |
[PATCH] mm: more rmap debugging
Add more debugging in the rmap code in an attempt to locate to source of
the occasional "mapcount went negative" assertions.
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/memory.c')
-rw-r--r-- | mm/memory.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/memory.c b/mm/memory.c index c00bac66ce9f..563792f4f687 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -681,7 +681,7 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb, | |||
681 | mark_page_accessed(page); | 681 | mark_page_accessed(page); |
682 | file_rss--; | 682 | file_rss--; |
683 | } | 683 | } |
684 | page_remove_rmap(page); | 684 | page_remove_rmap(page, vma); |
685 | tlb_remove_page(tlb, page); | 685 | tlb_remove_page(tlb, page); |
686 | continue; | 686 | continue; |
687 | } | 687 | } |
@@ -1586,7 +1586,7 @@ gotten: | |||
1586 | page_table = pte_offset_map_lock(mm, pmd, address, &ptl); | 1586 | page_table = pte_offset_map_lock(mm, pmd, address, &ptl); |
1587 | if (likely(pte_same(*page_table, orig_pte))) { | 1587 | if (likely(pte_same(*page_table, orig_pte))) { |
1588 | if (old_page) { | 1588 | if (old_page) { |
1589 | page_remove_rmap(old_page); | 1589 | page_remove_rmap(old_page, vma); |
1590 | if (!PageAnon(old_page)) { | 1590 | if (!PageAnon(old_page)) { |
1591 | dec_mm_counter(mm, file_rss); | 1591 | dec_mm_counter(mm, file_rss); |
1592 | inc_mm_counter(mm, anon_rss); | 1592 | inc_mm_counter(mm, anon_rss); |