aboutsummaryrefslogtreecommitdiffstats
path: root/mm/migrate.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/migrate.c')
-rw-r--r--mm/migrate.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/mm/migrate.c b/mm/migrate.c
index fba770c54d84..ed0268268e93 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -505,15 +505,17 @@ int migrate_page_move_mapping(struct address_space *mapping,
505 * are mapped to swap space. 505 * are mapped to swap space.
506 */ 506 */
507 if (newzone != oldzone) { 507 if (newzone != oldzone) {
508 __dec_zone_state(oldzone, NR_FILE_PAGES); 508 __dec_node_state(oldzone->zone_pgdat, NR_FILE_PAGES);
509 __inc_zone_state(newzone, NR_FILE_PAGES); 509 __inc_node_state(newzone->zone_pgdat, NR_FILE_PAGES);
510 if (PageSwapBacked(page) && !PageSwapCache(page)) { 510 if (PageSwapBacked(page) && !PageSwapCache(page)) {
511 __dec_zone_state(oldzone, NR_SHMEM); 511 __dec_node_state(oldzone->zone_pgdat, NR_SHMEM);
512 __inc_zone_state(newzone, NR_SHMEM); 512 __inc_node_state(newzone->zone_pgdat, NR_SHMEM);
513 } 513 }
514 if (dirty && mapping_cap_account_dirty(mapping)) { 514 if (dirty && mapping_cap_account_dirty(mapping)) {
515 __dec_zone_state(oldzone, NR_FILE_DIRTY); 515 __dec_node_state(oldzone->zone_pgdat, NR_FILE_DIRTY);
516 __inc_zone_state(newzone, NR_FILE_DIRTY); 516 __dec_zone_state(oldzone, NR_ZONE_WRITE_PENDING);
517 __inc_node_state(newzone->zone_pgdat, NR_FILE_DIRTY);
518 __inc_zone_state(newzone, NR_ZONE_WRITE_PENDING);
517 } 519 }
518 } 520 }
519 local_irq_enable(); 521 local_irq_enable();