diff options
author | Alex Elder <elder@ieee.org> | 2009-09-10 14:33:56 -0500 |
---|---|---|
committer | Alex Elder <aelder@sgi.com> | 2009-09-10 14:33:56 -0500 |
commit | a4872d5b6ad69a49975c0268828b5bb2317ea5a0 (patch) | |
tree | f79577c2731753efb621ef62774949c1e0acdaad /mm/page_alloc.c | |
parent | 4734d401d43c6469d568caf223d37aa0fc1bf4dc (diff) | |
parent | 74fca6a42863ffacaf7ba6f1936a9f228950f657 (diff) | |
download | kernel-crypto-a4872d5b6ad69a49975c0268828b5bb2317ea5a0.tar.gz kernel-crypto-a4872d5b6ad69a49975c0268828b5bb2317ea5a0.tar.xz kernel-crypto-a4872d5b6ad69a49975c0268828b5bb2317ea5a0.zip |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index d052abbe306..a0de15f4698 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -817,13 +817,15 @@ __rmqueue_fallback(struct zone *zone, int order, int start_migratetype) * agressive about taking ownership of free pages */ if (unlikely(current_order >= (pageblock_order >> 1)) || - start_migratetype == MIGRATE_RECLAIMABLE) { + start_migratetype == MIGRATE_RECLAIMABLE || + page_group_by_mobility_disabled) { unsigned long pages; pages = move_freepages_block(zone, page, start_migratetype); /* Claim the whole block if over half of it is free */ - if (pages >= (1 << (pageblock_order-1))) + if (pages >= (1 << (pageblock_order-1)) || + page_group_by_mobility_disabled) set_pageblock_migratetype(page, start_migratetype); @@ -2544,7 +2546,6 @@ static void build_zonelists(pg_data_t *pgdat) prev_node = local_node; nodes_clear(used_mask); - memset(node_load, 0, sizeof(node_load)); memset(node_order, 0, sizeof(node_order)); j = 0; @@ -2653,6 +2654,9 @@ static int __build_all_zonelists(void *dummy) { int nid; +#ifdef CONFIG_NUMA + memset(node_load, 0, sizeof(node_load)); +#endif for_each_online_node(nid) { pg_data_t *pgdat = NODE_DATA(nid); |