diff options
author | Christoph Lameter <clameter@engr.sgi.com> | 2006-01-06 03:11:16 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-06 11:33:28 -0500 |
commit | 1a93205bdffd9d7278d4a66081cdb48452522a58 (patch) | |
tree | 7f8500fe725e5e8095a8fc77539d351a0e8a4643 /mm/page_alloc.c | |
parent | f3fe65122da05e1cd4c9140340d96ea2f95d0c49 (diff) |
[PATCH] mm: simplify build_zonelists_node by removing the case statement.
Simplify build_zonelists_node by removing the case statement.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 8f3de5af92dd..7adc9526d329 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c | |||
@@ -1455,35 +1455,23 @@ void show_free_areas(void) | |||
1455 | 1455 | ||
1456 | /* | 1456 | /* |
1457 | * Builds allocation fallback zone lists. | 1457 | * Builds allocation fallback zone lists. |
1458 | * | ||
1459 | * Add all populated zones of a node to the zonelist. | ||
1458 | */ | 1460 | */ |
1459 | static int __init build_zonelists_node(pg_data_t *pgdat, struct zonelist *zonelist, int j, int k) | 1461 | static int __init build_zonelists_node(pg_data_t *pgdat, |
1460 | { | 1462 | struct zonelist *zonelist, int j, int k) |
1461 | switch (k) { | 1463 | { |
1462 | struct zone *zone; | 1464 | struct zone *zone; |
1463 | default: | 1465 | |
1464 | BUG(); | 1466 | BUG_ON(k > ZONE_HIGHMEM); |
1465 | case ZONE_HIGHMEM: | 1467 | for (zone = pgdat->node_zones + k; zone >= pgdat->node_zones; zone--) { |
1466 | zone = pgdat->node_zones + ZONE_HIGHMEM; | 1468 | if (populated_zone(zone)) { |
1467 | if (zone->present_pages) { | ||
1468 | #ifndef CONFIG_HIGHMEM | 1469 | #ifndef CONFIG_HIGHMEM |
1469 | BUG(); | 1470 | BUG_ON(zone - pgdat->node_zones > ZONE_NORMAL); |
1470 | #endif | 1471 | #endif |
1471 | zonelist->zones[j++] = zone; | 1472 | zonelist->zones[j++] = zone; |
1472 | } | 1473 | } |
1473 | case ZONE_NORMAL: | ||
1474 | zone = pgdat->node_zones + ZONE_NORMAL; | ||
1475 | if (zone->present_pages) | ||
1476 | zonelist->zones[j++] = zone; | ||
1477 | case ZONE_DMA32: | ||
1478 | zone = pgdat->node_zones + ZONE_DMA32; | ||
1479 | if (zone->present_pages) | ||
1480 | zonelist->zones[j++] = zone; | ||
1481 | case ZONE_DMA: | ||
1482 | zone = pgdat->node_zones + ZONE_DMA; | ||
1483 | if (zone->present_pages) | ||
1484 | zonelist->zones[j++] = zone; | ||
1485 | } | 1474 | } |
1486 | |||
1487 | return j; | 1475 | return j; |
1488 | } | 1476 | } |
1489 | 1477 | ||