mm: page_alloc: Make paranoid check in move_freepages a VM_BUG_ON
authorMel Gorman <mgorman@suse.de>
Thu, 9 Oct 2014 22:28:28 +0000 (15:28 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 10 Oct 2014 02:25:58 +0000 (22:25 -0400)
Since 2.6.24 there has been a paranoid check in move_freepages that looks
up the zone of two pages.  This is a very slow path and the only time I've
seen this bug trigger recently is when memory initialisation was broken
during patch development.  Despite the fact it's a slow path, this patch
converts the check to a VM_BUG_ON anyway as it has served its purpose by
now.

Signed-off-by: Mel Gorman <mgorman@suse.de>
Acked-by: David Rientjes <rientjes@google.com>
Acked-by: Rik van Riel <riel@redhat.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page_alloc.c

index f3769f0..eac31a6 100644 (file)
@@ -1015,7 +1015,7 @@ int move_freepages(struct zone *zone,
         * Remove at a later date when no bug reports exist related to
         * grouping pages by mobility
         */
-       BUG_ON(page_zone(start_page) != page_zone(end_page));
+       VM_BUG_ON(page_zone(start_page) != page_zone(end_page));
 #endif
 
        for (page = start_page; page <= end_page;) {