diff options
Diffstat (limited to 'mm/migrate.c')
-rw-r--r-- | mm/migrate.c | 14 |
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(); |