Blame view

mm/mmzone.c 925 Bytes
95144c788   KAMEZAWA Hiroyuki   [PATCH] uninline ...
1
2
3
4
5
  /*
   * linux/mm/mmzone.c
   *
   * management codes for pgdats and zones.
   */
95144c788   KAMEZAWA Hiroyuki   [PATCH] uninline ...
6
7
8
9
10
11
12
13
  #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);
  }
b0d85c5c3   Adrian Bunk   [PATCH] mm/mmzone...
14
  EXPORT_UNUSED_SYMBOL(first_online_pgdat);  /*  June 2006  */
95144c788   KAMEZAWA Hiroyuki   [PATCH] uninline ...
15
16
17
18
19
20
21
22
23
  
  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);
  }
b0d85c5c3   Adrian Bunk   [PATCH] mm/mmzone...
24
  EXPORT_UNUSED_SYMBOL(next_online_pgdat);  /*  June 2006  */
95144c788   KAMEZAWA Hiroyuki   [PATCH] uninline ...
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  
  
  /*
   * 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;
  }
b0d85c5c3   Adrian Bunk   [PATCH] mm/mmzone...
45
  EXPORT_UNUSED_SYMBOL(next_zone);  /*  June 2006  */
95144c788   KAMEZAWA Hiroyuki   [PATCH] uninline ...
46