From: Yu Kuai Date: Tue, 23 May 2023 02:10:15 +0000 (+0800) Subject: md/bitmap: always wake up md_thread in timeout_store X-Git-Tag: v6.6.17~4506^2~45^2~16 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c333673a78307abe6b1f6998809288fcd86740ed;p=platform%2Fkernel%2Flinux-rpi.git md/bitmap: always wake up md_thread in timeout_store md_wakeup_thread() can handle the case that pass in md_thread is NULL, the only difference is that md_wakeup_thread() will be called when current timeout is 'MAX_SCHEDULE_TIMEOUT', this should not matter because timeout_store() is not hot path, and the daemon process is woke up more than demand from other context already. Prepare to factor out a helper to set timeout. Signed-off-by: Yu Kuai Signed-off-by: Song Liu Link: https://lore.kernel.org/r/20230523021017.3048783-4-yukuai1@huaweicloud.com --- diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c index 358a064..4b5ba81 100644 --- a/drivers/md/md-bitmap.c +++ b/drivers/md/md-bitmap.c @@ -2476,11 +2476,11 @@ timeout_store(struct mddev *mddev, const char *buf, size_t len) * the bitmap is all clean and we don't need to * adjust the timeout right now */ - if (mddev->thread->timeout < MAX_SCHEDULE_TIMEOUT) { + if (mddev->thread->timeout < MAX_SCHEDULE_TIMEOUT) mddev->thread->timeout = timeout; - md_wakeup_thread(mddev->thread); - } } + + md_wakeup_thread(mddev->thread); return len; }