Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 24312
b: refs/heads/master
c: 95144c7
h: refs/heads/master
v: v3
  • Loading branch information
KAMEZAWA Hiroyuki authored and Linus Torvalds committed Mar 27, 2006
1 parent 4c3a0b4 commit d771d8c
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 37 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ae0f15fb91274e67d78836d38c99ec363df33073
refs/heads/master: 95144c788dc01b6a0ff2c9c2222e37ffdab358b8
38 changes: 3 additions & 35 deletions trunk/include/linux/mmzone.h
Original file line number Diff line number Diff line change
Expand Up @@ -418,20 +418,9 @@ extern struct pglist_data contig_page_data;

#endif /* !CONFIG_NEED_MULTIPLE_NODES */

static inline struct pglist_data *first_online_pgdat(void)
{
return NODE_DATA(first_online_node);
}

static inline 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);
}

extern struct pglist_data *first_online_pgdat(void);
extern struct pglist_data *next_online_pgdat(struct pglist_data *pgdat);
extern struct zone *next_zone(struct zone *zone);

/**
* for_each_pgdat - helper macro to iterate over all nodes
Expand All @@ -441,27 +430,6 @@ static inline struct pglist_data *next_online_pgdat(struct pglist_data *pgdat)
for (pgdat = first_online_pgdat(); \
pgdat; \
pgdat = next_online_pgdat(pgdat))

/*
* next_zone - helper magic for for_each_zone()
* Thanks to William Lee Irwin III for this piece of ingenuity.
*/
static inline 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;
}

/**
* for_each_zone - helper macro to iterate over all memory zones
* @zone - pointer to struct zone variable
Expand Down
2 changes: 1 addition & 1 deletion trunk/mm/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ mmu-$(CONFIG_MMU) := fremap.o highmem.o madvise.o memory.o mincore.o \
obj-y := bootmem.o filemap.o mempool.o oom_kill.o fadvise.o \
page_alloc.o page-writeback.o pdflush.o \
readahead.o swap.o truncate.o vmscan.o \
prio_tree.o util.o $(mmu-y)
prio_tree.o util.o mmzone.o $(mmu-y)

obj-$(CONFIG_SWAP) += page_io.o swap_state.o swapfile.o thrash.o
obj-$(CONFIG_HUGETLBFS) += hugetlb.o
Expand Down
50 changes: 50 additions & 0 deletions trunk/mm/mmzone.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* linux/mm/mmzone.c
*
* management codes for pgdats and zones.
*/


#include <linux/config.h>
#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_SYMBOL(first_online_pgdat);

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_SYMBOL(next_online_pgdat);


/*
* 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_SYMBOL(next_zone);

0 comments on commit d771d8c

Please sign in to comment.