diff options
-rw-r--r-- | include/linux/mmzone.h | 2 | ||||
-rw-r--r-- | mm/vmscan.c | 10 | ||||
-rw-r--r-- | mm/vmstat.c | 2 |
3 files changed, 11 insertions, 3 deletions
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 2c41b2c1943..188cb2ffe8d 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -100,7 +100,7 @@ enum zone_stat_item { | |||
100 | NR_UNSTABLE_NFS, /* NFS unstable pages */ | 100 | NR_UNSTABLE_NFS, /* NFS unstable pages */ |
101 | NR_BOUNCE, | 101 | NR_BOUNCE, |
102 | NR_VMSCAN_WRITE, | 102 | NR_VMSCAN_WRITE, |
103 | NR_VMSCAN_WRITE_SKIP, | 103 | NR_VMSCAN_IMMEDIATE, /* Prioritise for reclaim when writeback ends */ |
104 | NR_WRITEBACK_TEMP, /* Writeback using temporary buffers */ | 104 | NR_WRITEBACK_TEMP, /* Writeback using temporary buffers */ |
105 | NR_ISOLATED_ANON, /* Temporary isolated pages from anon lru */ | 105 | NR_ISOLATED_ANON, /* Temporary isolated pages from anon lru */ |
106 | NR_ISOLATED_FILE, /* Temporary isolated pages from file lru */ | 106 | NR_ISOLATED_FILE, /* Temporary isolated pages from file lru */ |
diff --git a/mm/vmscan.c b/mm/vmscan.c index 7b0573f33a2..a297603d35b 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -866,7 +866,15 @@ static unsigned long shrink_page_list(struct list_head *page_list, | |||
866 | */ | 866 | */ |
867 | if (page_is_file_cache(page) && | 867 | if (page_is_file_cache(page) && |
868 | (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { | 868 | (!current_is_kswapd() || priority >= DEF_PRIORITY - 2)) { |
869 | inc_zone_page_state(page, NR_VMSCAN_WRITE_SKIP); | 869 | /* |
870 | * Immediately reclaim when written back. | ||
871 | * Similar in principal to deactivate_page() | ||
872 | * except we already have the page isolated | ||
873 | * and know it's dirty | ||
874 | */ | ||
875 | inc_zone_page_state(page, NR_VMSCAN_IMMEDIATE); | ||
876 | SetPageReclaim(page); | ||
877 | |||
870 | goto keep_locked; | 878 | goto keep_locked; |
871 | } | 879 | } |
872 | 880 | ||
diff --git a/mm/vmstat.c b/mm/vmstat.c index 210bd8ff3a6..56e529a4051 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -702,7 +702,7 @@ const char * const vmstat_text[] = { | |||
702 | "nr_unstable", | 702 | "nr_unstable", |
703 | "nr_bounce", | 703 | "nr_bounce", |
704 | "nr_vmscan_write", | 704 | "nr_vmscan_write", |
705 | "nr_vmscan_write_skip", | 705 | "nr_vmscan_immediate_reclaim", |
706 | "nr_writeback_temp", | 706 | "nr_writeback_temp", |
707 | "nr_isolated_anon", | 707 | "nr_isolated_anon", |
708 | "nr_isolated_file", | 708 | "nr_isolated_file", |