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