Commit b16bc64d1aed40fb9cff9187061005b2a89b5d5d

Authored by Dave Jones
Committed by Linus Torvalds
1 parent 469340236a

[PATCH] move rmap BUG_ON outside DEBUG_VM

We have a persistent dribble of reports of this BUG triggering.  Its extended
diagnostics were recently made conditional on CONFIG_DEBUG_VM, which was a bad
idea - we want to know about it.

Signed-off-by: Dave Jones <davej@redhat.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 1 changed file with 2 additions and 3 deletions Side-by-side Diff

... ... @@ -576,15 +576,14 @@
576 576 void page_remove_rmap(struct page *page)
577 577 {
578 578 if (atomic_add_negative(-1, &page->_mapcount)) {
579   -#ifdef CONFIG_DEBUG_VM
580 579 if (unlikely(page_mapcount(page) < 0)) {
581 580 printk (KERN_EMERG "Eeek! page_mapcount(page) went negative! (%d)\n", page_mapcount(page));
582 581 printk (KERN_EMERG " page->flags = %lx\n", page->flags);
583 582 printk (KERN_EMERG " page->count = %x\n", page_count(page));
584 583 printk (KERN_EMERG " page->mapping = %p\n", page->mapping);
  584 + BUG();
585 585 }
586   -#endif
587   - BUG_ON(page_mapcount(page) < 0);
  586 +
588 587 /*
589 588 * It would be tidy to reset the PageAnon mapping here,
590 589 * but that might overwrite a racing page_add_anon_rmap