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

From: Mel Gorman
Date: Fri Oct 22 2021 - 04:14:56 EST


On Fri, Oct 22, 2021 at 12:07:43PM +1100, NeilBrown wrote:
> On Tue, 19 Oct 2021, 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.
>
> Would love to see the comparable tracing results for after the patch.
>

They're in the leader. The trace figures in the changelog are the ones I
had at the time the patch was developed and I didn't keep them up to date
to reduce overall test time. At the last set of results, some throttling
was still hitting the full timeout;

[....]
843 usec_timeout=500000 usect_delayed=12000 reason=VMSCAN_THROTTLE_NOPROGRESS
1299 usec_timeout=500000 usect_delayed=104000 reason=VMSCAN_THROTTLE_NOPROGRESS
2839 usec_timeout=500000 usect_delayed=8000 reason=VMSCAN_THROTTLE_NOPROGRESS
10111 usec_timeout=500000 usect_delayed=4000 reason=VMSCAN_THROTTLE_NOPROGRESS
21492 usec_timeout=500000 usect_delayed=0 reason=VMSCAN_THROTTLE_NOPROGRESS
36441 usec_timeout=500000 usect_delayed=500000 reason=VMSCAN_THROTTLE_NOPROGRESS


--
Mel Gorman
SUSE Labs