diff options
-rw-r--r-- | include/linux/vm_event_item.h | 1 | ||||
-rw-r--r-- | mm/vmscan.c | 29 | ||||
-rw-r--r-- | mm/vmstat.c | 1 |
3 files changed, 1 insertions, 30 deletions
diff --git a/include/linux/vm_event_item.h b/include/linux/vm_event_item.h index fce0a2799d43..bd6cf61142be 100644 --- a/include/linux/vm_event_item.h +++ b/include/linux/vm_event_item.h | |||
@@ -36,7 +36,6 @@ enum vm_event_item { PGPGIN, PGPGOUT, PSWPIN, PSWPOUT, | |||
36 | #endif | 36 | #endif |
37 | PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL, | 37 | PGINODESTEAL, SLABS_SCANNED, KSWAPD_INODESTEAL, |
38 | KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, | 38 | KSWAPD_LOW_WMARK_HIT_QUICKLY, KSWAPD_HIGH_WMARK_HIT_QUICKLY, |
39 | KSWAPD_SKIP_CONGESTION_WAIT, | ||
40 | PAGEOUTRUN, ALLOCSTALL, PGROTATED, | 39 | PAGEOUTRUN, ALLOCSTALL, PGROTATED, |
41 | #ifdef CONFIG_NUMA_BALANCING | 40 | #ifdef CONFIG_NUMA_BALANCING |
42 | NUMA_PTE_UPDATES, | 41 | NUMA_PTE_UPDATES, |
diff --git a/mm/vmscan.c b/mm/vmscan.c index 8fde2fc223d9..b93968b71dc6 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -2617,7 +2617,6 @@ static unsigned long balance_pgdat(pg_data_t *pgdat, int order, | |||
2617 | int *classzone_idx) | 2617 | int *classzone_idx) |
2618 | { | 2618 | { |
2619 | bool pgdat_is_balanced = false; | 2619 | bool pgdat_is_balanced = false; |
2620 | struct zone *unbalanced_zone; | ||
2621 | int i; | 2620 | int i; |
2622 | int end_zone = 0; /* Inclusive. 0 = ZONE_DMA */ | 2621 | int end_zone = 0; /* Inclusive. 0 = ZONE_DMA */ |
2623 | unsigned long total_scanned; | 2622 | unsigned long total_scanned; |
@@ -2648,9 +2647,6 @@ loop_again: | |||
2648 | 2647 | ||
2649 | do { | 2648 | do { |
2650 | unsigned long lru_pages = 0; | 2649 | unsigned long lru_pages = 0; |
2651 | int has_under_min_watermark_zone = 0; | ||
2652 | |||
2653 | unbalanced_zone = NULL; | ||
2654 | 2650 | ||
2655 | /* | 2651 | /* |
2656 | * Scan in the highmem->dma direction for the highest | 2652 | * Scan in the highmem->dma direction for the highest |
@@ -2790,17 +2786,7 @@ loop_again: | |||
2790 | continue; | 2786 | continue; |
2791 | } | 2787 | } |
2792 | 2788 | ||
2793 | if (!zone_balanced(zone, testorder, 0, end_zone)) { | 2789 | if (zone_balanced(zone, testorder, 0, end_zone)) |
2794 | unbalanced_zone = zone; | ||
2795 | /* | ||
2796 | * We are still under min water mark. This | ||
2797 | * means that we have a GFP_ATOMIC allocation | ||
2798 | * failure risk. Hurry up! | ||
2799 | */ | ||
2800 | if (!zone_watermark_ok_safe(zone, order, | ||
2801 | min_wmark_pages(zone), end_zone, 0)) | ||
2802 | has_under_min_watermark_zone = 1; | ||
2803 | } else { | ||
2804 | /* | 2790 | /* |
2805 | * If a zone reaches its high watermark, | 2791 | * If a zone reaches its high watermark, |
2806 | * consider it to be no longer congested. It's | 2792 | * consider it to be no longer congested. It's |
@@ -2809,8 +2795,6 @@ loop_again: | |||
2809 | * speculatively avoid congestion waits | 2795 | * speculatively avoid congestion waits |
2810 | */ | 2796 | */ |
2811 | zone_clear_flag(zone, ZONE_CONGESTED); | 2797 | zone_clear_flag(zone, ZONE_CONGESTED); |
2812 | } | ||
2813 | |||
2814 | } | 2798 | } |
2815 | 2799 | ||
2816 | /* | 2800 | /* |
@@ -2828,17 +2812,6 @@ loop_again: | |||
2828 | } | 2812 | } |
2829 | 2813 | ||
2830 | /* | 2814 | /* |
2831 | * OK, kswapd is getting into trouble. Take a nap, then take | ||
2832 | * another pass across the zones. | ||
2833 | */ | ||
2834 | if (total_scanned && (sc.priority < DEF_PRIORITY - 2)) { | ||
2835 | if (has_under_min_watermark_zone) | ||
2836 | count_vm_event(KSWAPD_SKIP_CONGESTION_WAIT); | ||
2837 | else if (unbalanced_zone) | ||
2838 | wait_iff_congested(unbalanced_zone, BLK_RW_ASYNC, HZ/10); | ||
2839 | } | ||
2840 | |||
2841 | /* | ||
2842 | * We do this so kswapd doesn't build up large priorities for | 2815 | * We do this so kswapd doesn't build up large priorities for |
2843 | * example when it is freeing in parallel with allocators. It | 2816 | * example when it is freeing in parallel with allocators. It |
2844 | * matches the direct reclaim path behaviour in terms of impact | 2817 | * matches the direct reclaim path behaviour in terms of impact |
diff --git a/mm/vmstat.c b/mm/vmstat.c index c9d1f68120cd..57f02fd1768b 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c | |||
@@ -770,7 +770,6 @@ const char * const vmstat_text[] = { | |||
770 | "kswapd_inodesteal", | 770 | "kswapd_inodesteal", |
771 | "kswapd_low_wmark_hit_quickly", | 771 | "kswapd_low_wmark_hit_quickly", |
772 | "kswapd_high_wmark_hit_quickly", | 772 | "kswapd_high_wmark_hit_quickly", |
773 | "kswapd_skip_congestion_wait", | ||
774 | "pageoutrun", | 773 | "pageoutrun", |
775 | "allocstall", | 774 | "allocstall", |
776 | 775 | ||