diff options
author | Khazhismel Kumykov <khazhy@chromium.org> | 2022-11-08 19:10:30 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-11-09 20:42:26 +0100 |
commit | 99771d73ff4539f2337b84917f4792abf0d8931b (patch) | |
tree | 957cea2b0417a63188d975e320c0d9a5962aa123 /block | |
parent | bfq: fix waker_bfqq inconsistency crash (diff) | |
download | linux-99771d73ff4539f2337b84917f4792abf0d8931b.tar.xz linux-99771d73ff4539f2337b84917f4792abf0d8931b.zip |
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>
Diffstat (limited to 'block')
-rw-r--r-- | block/bfq-iosched.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 7b610e91127e..a72304c728fc 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; /* |