Skip to content

Commit

Permalink
[PATCH] mm: add populated_zone() helper
Browse files Browse the repository at this point in the history
There are numerous places we check whether a zone is populated or not.

Provide a helper function to check for populated zones and convert all
checks for zone->present_pages.

Signed-off-by: Con Kolivas <kernel@kolivas.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Con Kolivas authored and Linus Torvalds committed Jan 6, 2006
1 parent 80bfed9 commit f3fe651
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 8 deletions.
5 changes: 5 additions & 0 deletions include/linux/mmzone.h
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,11 @@ static inline struct zone *next_zone(struct zone *zone)
#define for_each_zone(zone) \
for (zone = pgdat_list->node_zones; zone; zone = next_zone(zone))

static inline int populated_zone(struct zone *zone)
{
return (!!zone->present_pages);
}

static inline int is_highmem_idx(int idx)
{
return (idx == ZONE_HIGHMEM);
Expand Down
8 changes: 4 additions & 4 deletions mm/page_alloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -1358,7 +1358,7 @@ void show_free_areas(void)
show_node(zone);
printk("%s per-cpu:", zone->name);

if (!zone->present_pages) {
if (!populated_zone(zone)) {
printk(" empty\n");
continue;
} else
Expand Down Expand Up @@ -1435,7 +1435,7 @@ void show_free_areas(void)

show_node(zone);
printk("%s: ", zone->name);
if (!zone->present_pages) {
if (!populated_zone(zone)) {
printk("empty\n");
continue;
}
Expand Down Expand Up @@ -2134,7 +2134,7 @@ static int frag_show(struct seq_file *m, void *arg)
int order;

for (zone = node_zones; zone - node_zones < MAX_NR_ZONES; ++zone) {
if (!zone->present_pages)
if (!populated_zone(zone))
continue;

spin_lock_irqsave(&zone->lock, flags);
Expand Down Expand Up @@ -2167,7 +2167,7 @@ static int zoneinfo_show(struct seq_file *m, void *arg)
for (zone = node_zones; zone - node_zones < MAX_NR_ZONES; zone++) {
int i;

if (!zone->present_pages)
if (!populated_zone(zone))
continue;

spin_lock_irqsave(&zone->lock, flags);
Expand Down
8 changes: 4 additions & 4 deletions mm/vmscan.c
Original file line number Diff line number Diff line change
Expand Up @@ -897,7 +897,7 @@ shrink_caches(struct zone **zones, struct scan_control *sc)
for (i = 0; zones[i] != NULL; i++) {
struct zone *zone = zones[i];

if (zone->present_pages == 0)
if (!populated_zone(zone))
continue;

if (!cpuset_zone_allowed(zone, __GFP_HARDWALL))
Expand Down Expand Up @@ -1069,7 +1069,7 @@ static int balance_pgdat(pg_data_t *pgdat, int nr_pages, int order)
for (i = pgdat->nr_zones - 1; i >= 0; i--) {
struct zone *zone = pgdat->node_zones + i;

if (zone->present_pages == 0)
if (!populated_zone(zone))
continue;

if (zone->all_unreclaimable &&
Expand Down Expand Up @@ -1106,7 +1106,7 @@ static int balance_pgdat(pg_data_t *pgdat, int nr_pages, int order)
struct zone *zone = pgdat->node_zones + i;
int nr_slab;

if (zone->present_pages == 0)
if (!populated_zone(zone))
continue;

if (zone->all_unreclaimable && priority != DEF_PRIORITY)
Expand Down Expand Up @@ -1258,7 +1258,7 @@ void wakeup_kswapd(struct zone *zone, int order)
{
pg_data_t *pgdat;

if (zone->present_pages == 0)
if (!populated_zone(zone))
return;

pgdat = zone->zone_pgdat;
Expand Down

0 comments on commit f3fe651

Please sign in to comment.