OSDN Git Service

mm, page_alloc: remove redundant checks from alloc fastpath
[tomoyo/tomoyo-test1.git] / mm / page_alloc.c
index 6196eed..65876fe 100644 (file)
@@ -3915,14 +3915,6 @@ static inline bool prepare_alloc_pages(gfp_t gfp_mask, unsigned int order,
        if (should_fail_alloc_page(gfp_mask, order))
                return false;
 
-       /*
-        * Check the zones suitable for the gfp_mask contain at least one
-        * valid zone. It's possible to have an empty zonelist as a result
-        * of __GFP_THISNODE and a memoryless node
-        */
-       if (unlikely(!ac->zonelist->_zonerefs->zone))
-               return false;
-
        if (IS_ENABLED(CONFIG_CMA) && ac->migratetype == MIGRATE_MOVABLE)
                *alloc_flags |= ALLOC_CMA;
 
@@ -3962,22 +3954,12 @@ __alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order,
                return NULL;
 
        finalise_ac(gfp_mask, order, &ac);
-       if (!ac.preferred_zoneref->zone) {
-               page = NULL;
-               /*
-                * This might be due to race with cpuset_current_mems_allowed
-                * update, so make sure we retry with original nodemask in the
-                * slow path.
-                */
-               goto no_zone;
-       }
 
        /* First allocation attempt */
        page = get_page_from_freelist(alloc_mask, order, alloc_flags, &ac);
        if (likely(page))
                goto out;
 
-no_zone:
        /*
         * Runtime PM, block IO and its error handling path can deadlock
         * because I/O on the device might not complete.