thp: consolidate assert checks in __split_huge_page()
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Wed, 4 Jun 2014 23:06:57 +0000 (16:06 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Jun 2014 23:53:57 +0000 (16:53 -0700)
It doesn't make sense to have two assert checks for each invariant: one
for printing and one for BUG().

Let's trigger BUG() if we print error message.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/huge_memory.c

index d199d2d919467eeddbc82127f0ffbf780e947138..2434d9059e5c65b05332193c031aa94dc4f4a311 100644 (file)
@@ -1830,10 +1830,11 @@ static void __split_huge_page(struct page *page,
         * the newly established pmd of the child later during the
         * walk, to be able to set it as pmd_trans_splitting too.
         */
-       if (mapcount != page_mapcount(page))
+       if (mapcount != page_mapcount(page)) {
                printk(KERN_ERR "mapcount %d page_mapcount %d\n",
                       mapcount, page_mapcount(page));
-       BUG_ON(mapcount != page_mapcount(page));
+               BUG();
+       }
 
        __split_huge_page_refcount(page, list);
 
@@ -1844,10 +1845,11 @@ static void __split_huge_page(struct page *page,
                BUG_ON(is_vma_temporary_stack(vma));
                mapcount2 += __split_huge_page_map(page, vma, addr);
        }
-       if (mapcount != mapcount2)
+       if (mapcount != mapcount2) {
                printk(KERN_ERR "mapcount %d mapcount2 %d page_mapcount %d\n",
                       mapcount, mapcount2, page_mapcount(page));
-       BUG_ON(mapcount != mapcount2);
+               BUG();
+       }
 }
 
 /*