Re: [PATCH 7/8] mm/vmscan: Increase the timeout if page reclaim is not making progress

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

 



On 10/8/21 15:53, Mel Gorman wrote:
> Tracing of the stutterp workload showed the following delays
> 
>       1 usect_delayed=124000 reason=VMSCAN_THROTTLE_NOPROGRESS
>       1 usect_delayed=128000 reason=VMSCAN_THROTTLE_NOPROGRESS
>       1 usect_delayed=176000 reason=VMSCAN_THROTTLE_NOPROGRESS
>       1 usect_delayed=536000 reason=VMSCAN_THROTTLE_NOPROGRESS
>       1 usect_delayed=544000 reason=VMSCAN_THROTTLE_NOPROGRESS
>       1 usect_delayed=556000 reason=VMSCAN_THROTTLE_NOPROGRESS
>       1 usect_delayed=624000 reason=VMSCAN_THROTTLE_NOPROGRESS
>       1 usect_delayed=716000 reason=VMSCAN_THROTTLE_NOPROGRESS
>       1 usect_delayed=772000 reason=VMSCAN_THROTTLE_NOPROGRESS
>       2 usect_delayed=512000 reason=VMSCAN_THROTTLE_NOPROGRESS
>      16 usect_delayed=120000 reason=VMSCAN_THROTTLE_NOPROGRESS
>      53 usect_delayed=116000 reason=VMSCAN_THROTTLE_NOPROGRESS
>     116 usect_delayed=112000 reason=VMSCAN_THROTTLE_NOPROGRESS
>    5907 usect_delayed=108000 reason=VMSCAN_THROTTLE_NOPROGRESS
>   71741 usect_delayed=104000 reason=VMSCAN_THROTTLE_NOPROGRESS
> 
> All the throttling hit the full timeout and then there was wakeup delays
> meaning that the wakeups are premature as no other reclaimer such as
> kswapd has made progress. This patch increases the maximum timeout.
> 
> Signed-off-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

> ---
>  mm/vmscan.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/vmscan.c b/mm/vmscan.c
> index e096e81dcbd8..7b54fec4072c 100644
> --- a/mm/vmscan.c
> +++ b/mm/vmscan.c
> @@ -1038,6 +1038,8 @@ void reclaim_throttle(pg_data_t *pgdat, enum vmscan_throttle_state reason)
>  	 */
>  	switch(reason) {
>  	case VMSCAN_THROTTLE_NOPROGRESS:
> +		timeout = HZ/2;
> +		break;
>  	case VMSCAN_THROTTLE_WRITEBACK:
>  		timeout = HZ/10;
>  		break;
> 





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

  Powered by Linux