prep_zero_page: remove bogus BUG_ON
authorHugh Dickins <hugh@veritas.com>
Wed, 28 Nov 2007 18:57:12 +0000 (18:57 +0000)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 28 Nov 2007 19:04:28 +0000 (11:04 -0800)
2.6.11 gave __GFP_ZERO's prep_zero_page a bogus "highmem may have to wait"
assertion.  Presumably added under the misconception that clear_highpage
uses nonatomic kmap; but then and now it uses kmap_atomic, so no problem.

Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/page_alloc.c

index 12376ae3f7334e124d488b1d7bc3d291d64e9be1..4ffed1cd158b5a9731d90b2e870de3b42feec38a 100644 (file)
@@ -305,7 +305,6 @@ static inline void prep_zero_page(struct page *page, int order, gfp_t gfp_flags)
 {
        int i;
 
-       VM_BUG_ON((gfp_flags & (__GFP_WAIT | __GFP_HIGHMEM)) == __GFP_HIGHMEM);
        /*
         * clear_highpage() will use KM_USER0, so it's a bug to use __GFP_ZERO
         * and __GFP_HIGHMEM from hard or soft interrupt context.