diff options
-rw-r--r-- | include/linux/vm_event_item.h | 5 | ||||
-rw-r--r-- | mm/vmscan.c | 11 | ||||
-rw-r--r-- | mm/vmstat.c | 4 |
3 files changed, 13 insertions, 7 deletions
diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index 03b90cdc1921..06f8e3858251 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h | |||
@@ -26,13 +26,14 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, | |||
26 | PGFREE, PGACTIVATE, PGDEACTIVATE, | 26 | PGFREE, PGACTIVATE, PGDEACTIVATE, |
27 | PGFAULT, PGMAJFAULT, | 27 | PGFAULT, PGMAJFAULT, |
28 | FOR_ALL_ZONES(PGREFILL), | 28 | FOR_ALL_ZONES(PGREFILL), |
29 | FOR_ALL_ZONES(PGSTEAL), | 29 | FOR_ALL_ZONES(PGSTEAL_KSWAPD), |
30 | FOR_ALL_ZONES(PGSTEAL_DIRECT), | ||
30 | FOR_ALL_ZONES(PGSCAN_KSWAPD), | 31 | FOR_ALL_ZONES(PGSCAN_KSWAPD), |
31 | FOR_ALL_ZONES(PGSCAN_DIRECT), | 32 | FOR_ALL_ZONES(PGSCAN_DIRECT), |
32 | #ifdef CONFIG_NUMA | 33 | #ifdef CONFIG_NUMA |
33 | PGSCAN_ZONE_RECLAIM_FAILED, | 34 | PGSCAN_ZONE_RECLAIM_FAILED, |
34 | #endif | 35 | #endif |
35 | PGINODESTEAL, SLABS_SCANNED, KSWAPD_STEAL, KSWAPD_INODESTEAL, | 36 | PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL, |
36 | KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, | 37 | KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, |
37 | KSWAPD_SKIP_CONGESTION_WAIT, | 38 | KSWAPD_SKIP_CONGESTION_WAIT, |
38 | PAGEOUTRUN, ALLOCSTALL, PGROTATED, | 39 | PAGEOUTRUN, ALLOCSTALL, PGROTATED, |
diff --git a/mm/vmscan.c b/mm/vmscan.c index 1a518684a32f..33dc256033b5 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -1568,9 +1568,14 @@ shrink_inactive_list(unsigned long nr_to_scan, struct mem_cgroup_zone *mz, | |||
1568 | reclaim_stat->recent_scanned[0] += nr_anon; | 1568 | reclaim_stat->recent_scanned[0] += nr_anon; |
1569 | reclaim_stat->recent_scanned[1] += nr_file; | 1569 | reclaim_stat->recent_scanned[1] += nr_file; |
1570 | 1570 | ||
1571 | if (current_is_kswapd()) | 1571 | if (global_reclaim(sc)) { |
1572 | __count_vm_events(KSWAPD_STEAL, nr_reclaimed); | 1572 | if (current_is_kswapd()) |
1573 | __count_zone_vm_events(PGSTEAL, zone, nr_reclaimed); | 1573 | __count_zone_vm_events(PGSTEAL_KSWAPD, zone, |
1574 | nr_reclaimed); | ||
1575 | else | ||
1576 | __count_zone_vm_events(PGSTEAL_DIRECT, zone, | ||
1577 | nr_reclaimed); | ||
1578 | } | ||
1574 | 1579 | ||
1575 | putback_inactive_pages(mz, &page_list); | 1580 | putback_inactive_pages(mz, &page_list); |
1576 | 1581 | ||
diff --git a/mm/vmstat.c b/mm/vmstat.c index f600557a7659..7db1b9bab492 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -738,7 +738,8 @@ const char * const vmstat_text[] = { | |||
738 | "pgmajfault", | 738 | "pgmajfault", |
739 | 739 | ||
740 | TEXTS_FOR_ZONES("pgrefill") | 740 | TEXTS_FOR_ZONES("pgrefill") |
741 | TEXTS_FOR_ZONES("pgsteal") | 741 | TEXTS_FOR_ZONES("pgsteal_kswapd") |
742 | TEXTS_FOR_ZONES("pgsteal_direct") | ||
742 | TEXTS_FOR_ZONES("pgscan_kswapd") | 743 | TEXTS_FOR_ZONES("pgscan_kswapd") |
743 | TEXTS_FOR_ZONES("pgscan_direct") | 744 | TEXTS_FOR_ZONES("pgscan_direct") |
744 | 745 | ||
@@ -747,7 +748,6 @@ const char * const vmstat_text[] = { | |||
747 | #endif | 748 | #endif |
748 | "pginodesteal", | 749 | "pginodesteal", |
749 | "slabs_scanned", | 750 | "slabs_scanned", |
750 | "kswapd_steal", | ||
751 | "kswapd_inodesteal", | 751 | "kswapd_inodesteal", |
752 | "kswapd_low_wmark_hit_quickly", | 752 | "kswapd_low_wmark_hit_quickly", |
753 | "kswapd_high_wmark_hit_quickly", | 753 | "kswapd_high_wmark_hit_quickly", |