Re: [PATCH 09/10] mm: vmscan: Check if kswapd should writepage once per priority

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun 17-03-13 13:04:15, Mel Gorman wrote:
> Currently kswapd checks if it should start writepage as it shrinks
> each zone without taking into consideration if the zone is balanced or
> not. This is not wrong as such but it does not make much sense either.
> This patch checks once per priority if kswapd should be writing pages.

Except it is not once per priority strictly speaking...  It doesn't make
any difference though.

> Signed-off-by: Mel Gorman <mgorman@xxxxxxx>

Reviewed-by: Michal Hocko <mhocko@xxxxxxx>

> ---
>  mm/vmscan.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index 84375b2..8c66e5a 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -2804,6 +2804,13 @@ static unsigned long balance_pgdat(pg_data_t *pgdat, int order,
>  		}
>  
>  		/*
> +		 * If we're getting trouble reclaiming, start doing writepage
> +		 * even in laptop mode.
> +		 */
> +		if (sc.priority < DEF_PRIORITY - 2)
> +			sc.may_writepage = 1;
> +
> +		/*
>  		 * Now scan the zone in the dma->highmem direction, stopping
>  		 * at the last zone which needs scanning.
>  		 *
> @@ -2876,13 +2883,6 @@ static unsigned long balance_pgdat(pg_data_t *pgdat, int order,
>  				nr_to_reclaim += sc.nr_to_reclaim;
>  			}
>  
> -			/*
> -			 * If we're getting trouble reclaiming, start doing
> -			 * writepage even in laptop mode.
> -			 */
> -			if (sc.priority < DEF_PRIORITY - 2)
> -				sc.may_writepage = 1;
> -
>  			if (zone->all_unreclaimable) {
>  				if (end_zone && end_zone == i)
>  					end_zone--;
> -- 
> 1.8.1.4
> 

-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]