[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1c1835271e0ea093dd169d19038b477cf8563c32.camel@gmx.de>
Date: Sun, 28 Nov 2021 19:38:37 +0100
From: Mike Galbraith <efault@....de>
To: Alexey Avramov <hakavlad@...ox.lv>,
Mel Gorman <mgorman@...hsingularity.net>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Michal Hocko <mhocko@...e.com>,
Vlastimil Babka <vbabka@...e.cz>,
Rik van Riel <riel@...riel.com>,
Darrick Wong <djwong@...nel.org>, regressions@...ts.linux.dev,
Linux-fsdevel <linux-fsdevel@...r.kernel.org>,
Linux-MM <linux-mm@...ck.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/1] mm: vmscan: Reduce throttling due to a failure to
make progress
On Sun, 2021-11-28 at 13:35 +0100, Mike Galbraith wrote:
>
> Bandaid likely just break the writeback bits all to pieces, but that's
> ok, if breakage makes things work better, they need more breaking :)
@@ -1048,6 +1050,10 @@ void reclaim_throttle(pg_data_t *pgdat,
*/
switch(reason) {
case VMSCAN_THROTTLE_WRITEBACK:
+ if (!async_bdi_congested()) {
+ cond_resched();
+ return;
+ }
And indeed, that's the only THROTTLE_WRITEBACK path I've seen taken.
Not pulling the plug made no difference to the tail /dev/zero test,
leaving only the bits I swiped from defunct wait_iff_congested() as
behavior delta cause. Actually sleeping there apparently stings.
-Mike
Powered by blists - more mailing lists