From: Khazhismel Kumykov <khazhy@chromium.org>
Date: Tue, 8 Nov 2022 18:10:30 +0000 (-0800)
Subject: bfq: ignore oom_bfqq in bfq_check_waker
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=99771d73ff4539f2337b84917f4792abf0d8931b;p=linux.git

bfq: ignore oom_bfqq in bfq_check_waker

oom_bfqq is just a fallback bfqq, so shouldn't be used with waker
detection.

Suggested-by: Jan Kara <jack@suse.cz>
Signed-off-by: Khazhismel Kumykov <khazhy@google.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20221108181030.1611703-2-khazhy@google.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
---

diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index 7b610e91127eb..a72304c728fce 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -2083,7 +2083,9 @@ static void bfq_check_waker(struct bfq_data *bfqd, struct bfq_queue *bfqq,
 	if (!bfqd->last_completed_rq_bfqq ||
 	    bfqd->last_completed_rq_bfqq == bfqq ||
 	    bfq_bfqq_has_short_ttime(bfqq) ||
-	    now_ns - bfqd->last_completion >= 4 * NSEC_PER_MSEC)
+	    now_ns - bfqd->last_completion >= 4 * NSEC_PER_MSEC ||
+	    bfqd->last_completed_rq_bfqq == &bfqd->oom_bfqq ||
+	    bfqq == &bfqd->oom_bfqq)
 		return;
 
 	/*