• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/mm/

Lines Matching defs:zonelist

1518  * zlc_setup - Setup for "zonelist cache".  Uses cached zone data to
1521 * comments in mmzone.h. Reduces cache footprint of zonelist scans
1524 * If the zonelist cache is present in the passed in zonelist, then
1528 * If the zonelist cache is not available for this zonelist, does
1531 * If the fullzones BITMAP in the zonelist cache is stale (more than
1535 * first zone in the zonelist, on the theory that most allocations will
1539 static nodemask_t *zlc_setup(struct zonelist *zonelist, int alloc_flags)
1541 struct zonelist_cache *zlc; /* cached zonelist speedup info */
1544 zlc = zonelist->zlcache_ptr;
1560 * Given 'z' scanning a zonelist, run a couple of quick checks to see
1574 * into the second scan of the zonelist.
1576 * In the second scan we ignore this zonelist cache and exactly
1581 static int zlc_zone_worth_trying(struct zonelist *zonelist, struct zoneref *z,
1584 struct zonelist_cache *zlc; /* cached zonelist speedup info */
1585 int i; /* index of *z in zonelist zones */
1588 zlc = zonelist->zlcache_ptr;
1592 i = z - zonelist->_zonerefs;
1600 * Given 'z' scanning a zonelist, set the corresponding bit in
1604 static void zlc_mark_zone_full(struct zonelist *zonelist, struct zoneref *z)
1606 struct zonelist_cache *zlc; /* cached zonelist speedup info */
1607 int i; /* index of *z in zonelist zones */
1609 zlc = zonelist->zlcache_ptr;
1613 i = z - zonelist->_zonerefs;
1620 static nodemask_t *zlc_setup(struct zonelist *zonelist, int alloc_flags)
1625 static int zlc_zone_worth_trying(struct zonelist *zonelist, struct zoneref *z,
1631 static void zlc_mark_zone_full(struct zonelist *zonelist, struct zoneref *z)
1637 * get_page_from_freelist goes through the zonelist trying to allocate
1642 struct zonelist *zonelist, int high_zoneidx, int alloc_flags,
1656 * Scan zonelist, looking for a zone with enough free.
1659 for_each_zone_zonelist_nodemask(zone, z, zonelist,
1662 !zlc_zone_worth_trying(zonelist, z, allowednodes))
1704 zlc_mark_zone_full(zonelist, z);
1711 allowednodes = zlc_setup(zonelist, alloc_flags);
1718 /* Disable zlc cache for second zonelist scan */
1763 struct zonelist *zonelist, enum zone_type high_zoneidx,
1769 /* Acquire the OOM killer lock for the zones in zonelist */
1770 if (!try_set_zonelist_oom(zonelist, gfp_mask)) {
1776 * Go through the zonelist yet one more time, keep very high watermark
1781 order, zonelist, high_zoneidx,
1805 out_of_memory(zonelist, gfp_mask, order, nodemask);
1808 clear_zonelist_oom(zonelist, gfp_mask);
1816 struct zonelist *zonelist, enum zone_type high_zoneidx,
1825 *did_some_progress = try_to_compact_pages(zonelist, order, gfp_mask,
1834 order, zonelist, high_zoneidx,
1860 struct zonelist *zonelist, enum zone_type high_zoneidx,
1871 struct zonelist *zonelist, enum zone_type high_zoneidx,
1889 *did_some_progress = try_to_free_pages(zonelist, order, gfp_mask, nodemask);
1902 zonelist, high_zoneidx,
1925 struct zonelist *zonelist, enum zone_type high_zoneidx,
1933 zonelist, high_zoneidx, ALLOC_NO_WATERMARKS,
1944 void wake_all_kswapd(unsigned int order, struct zonelist *zonelist,
1950 for_each_zone_zonelist(zone, z, zonelist, high_zoneidx)
1994 struct zonelist *zonelist, enum zone_type high_zoneidx,
2028 wake_all_kswapd(order, zonelist, high_zoneidx);
2038 page = get_page_from_freelist(gfp_mask, nodemask, order, zonelist,
2048 zonelist, high_zoneidx, nodemask,
2068 zonelist, high_zoneidx,
2077 zonelist, high_zoneidx,
2093 zonelist, high_zoneidx,
2150 struct zonelist *zonelist, nodemask_t *nodemask)
2168 * valid zone. It's possible to have an empty zonelist as a result
2171 if (unlikely(!zonelist->_zonerefs->zone))
2176 first_zones_zonelist(zonelist, high_zoneidx, nodemask, &preferred_zone);
2184 zonelist, high_zoneidx, ALLOC_WMARK_LOW|ALLOC_CPUSET,
2188 zonelist, high_zoneidx, nodemask,
2316 struct zonelist *zonelist = node_zonelist(numa_node_id(), GFP_KERNEL);
2318 for_each_zone_zonelist(zone, z, zonelist, offset) {
2532 * Add all populated zones of a node to the zonelist.
2534 static int build_zonelists_node(pg_data_t *pgdat, struct zonelist *zonelist,
2547 &zonelist->_zonerefs[nr_zones++]);
2563 * the same zonelist. So only NUMA can configure this param.
2569 /* zonelist order in the kernel.
2584 * interface for configure zonelist ordering.
2726 struct zonelist *zonelist;
2728 zonelist = &pgdat->node_zonelists[0];
2729 for (j = 0; zonelist->_zonerefs[j].zone != NULL; j++)
2731 j = build_zonelists_node(NODE_DATA(node), zonelist, j,
2733 zonelist->_zonerefs[j].zone = NULL;
2734 zonelist->_zonerefs[j].zone_idx = 0;
2743 struct zonelist *zonelist;
2745 zonelist = &pgdat->node_zonelists[1];
2746 j = build_zonelists_node(pgdat, zonelist, 0, MAX_NR_ZONES - 1);
2747 zonelist->_zonerefs[j].zone = NULL;
2748 zonelist->_zonerefs[j].zone_idx = 0;
2764 struct zonelist *zonelist;
2766 zonelist = &pgdat->node_zonelists[0];
2774 &zonelist->_zonerefs[pos++]);
2779 zonelist->_zonerefs[pos].zone = NULL;
2780 zonelist->_zonerefs[pos].zone_idx = 0;
2860 struct zonelist *zonelist;
2865 zonelist = pgdat->node_zonelists + i;
2866 zonelist->_zonerefs[0].zone = NULL;
2867 zonelist->_zonerefs[0].zone_idx = 0;
2913 /* Construct the zonelist performance cache - see further mmzone.h */
2916 struct zonelist *zonelist;
2920 zonelist = &pgdat->node_zonelists[0];
2921 zonelist->zlcache_ptr = zlc = &zonelist->zlcache;
2923 for (z = zonelist->_zonerefs; z->zone; z++)
2924 zlc->z_to_n[z - zonelist->_zonerefs] = zonelist_node_idx(z);
2930 * I.e., first node id of first zone in arg node's generic zonelist.
2932 * for kernel allocations, so use GFP_KERNEL flags to locate zonelist.
2957 struct zonelist *zonelist;
2961 zonelist = &pgdat->node_zonelists[0];
2962 j = build_zonelists_node(pgdat, zonelist, 0, MAX_NR_ZONES - 1);
2965 * Now we build the zonelist so that it contains the zones
2975 j = build_zonelists_node(NODE_DATA(node), zonelist, j,
2981 j = build_zonelists_node(NODE_DATA(node), zonelist, j,
2985 zonelist->_zonerefs[j].zone = NULL;
2986 zonelist->_zonerefs[j].zone_idx = 0;
2989 /* non-NUMA variant of zonelist performance cache - just NULL zlcache_ptr */
3065 * i.e., the node of the first zone in the generic zonelist.
3093 of zonelist */