12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /*
- * linux/mm/mmzone.c
- *
- * management codes for pgdats and zones.
- */
- #include <linux/stddef.h>
- #include <linux/mmzone.h>
- #include <linux/module.h>
- struct pglist_data *first_online_pgdat(void)
- {
- return NODE_DATA(first_online_node);
- }
- EXPORT_UNUSED_SYMBOL(first_online_pgdat); /* June 2006 */
- struct pglist_data *next_online_pgdat(struct pglist_data *pgdat)
- {
- int nid = next_online_node(pgdat->node_id);
- if (nid == MAX_NUMNODES)
- return NULL;
- return NODE_DATA(nid);
- }
- EXPORT_UNUSED_SYMBOL(next_online_pgdat); /* June 2006 */
- /*
- * next_zone - helper magic for for_each_zone()
- */
- struct zone *next_zone(struct zone *zone)
- {
- pg_data_t *pgdat = zone->zone_pgdat;
- if (zone < pgdat->node_zones + MAX_NR_ZONES - 1)
- zone++;
- else {
- pgdat = next_online_pgdat(pgdat);
- if (pgdat)
- zone = pgdat->node_zones;
- else
- zone = NULL;
- }
- return zone;
- }
- EXPORT_UNUSED_SYMBOL(next_zone); /* June 2006 */
|