lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 22 Oct 2021 15:46:51 +0100 From: Mel Gorman <mgorman@...hsingularity.net> To: Andrew Morton <akpm@...ux-foundation.org> Cc: NeilBrown <neilb@...e.de>, Theodore Ts'o <tytso@....edu>, Andreas Dilger <adilger.kernel@...ger.ca>, "Darrick J . Wong" <djwong@...nel.org>, Matthew Wilcox <willy@...radead.org>, Michal Hocko <mhocko@...e.com>, Dave Chinner <david@...morbit.com>, Rik van Riel <riel@...riel.com>, Vlastimil Babka <vbabka@...e.cz>, Johannes Weiner <hannes@...xchg.org>, Jonathan Corbet <corbet@....net>, Linux-MM <linux-mm@...ck.org>, Linux-fsdevel <linux-fsdevel@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org>, Mel Gorman <mgorman@...hsingularity.net> Subject: [PATCH 8/8] mm/vmscan: Delay waking of tasks throttled on NOPROGRESS Tracing indicates that tasks throttled on NOPROGRESS are woken prematurely resulting in occasional massive spikes in direct reclaim activity. This patch wakes tasks throttled on NOPROGRESS if reclaim efficiency is at least 12%. Signed-off-by: Mel Gorman <mgorman@...hsingularity.net> Acked-by: Vlastimil Babka <vbabka@...e.cz> --- mm/vmscan.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c index 35b6ccaa01c3..812d4697d50d 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -3349,8 +3349,11 @@ static inline bool compaction_ready(struct zone *zone, struct scan_control *sc) static void consider_reclaim_throttle(pg_data_t *pgdat, struct scan_control *sc) { - /* If reclaim is making progress, wake any throttled tasks. */ - if (sc->nr_reclaimed) { + /* + * If reclaim is making progress greater than 12% efficiency then + * wake all the NOPROGRESS throttled tasks. + */ + if (sc->nr_reclaimed > (sc->nr_scanned >> 3)) { wait_queue_head_t *wqh; wqh = &pgdat->reclaim_wait[VMSCAN_THROTTLE_NOPROGRESS]; -- 2.31.1
Powered by blists - more mailing lists