Re: [PATCH v2 3/5] md: use md_thread api to wake up sync_thread

From: Yu Kuai
Date: Fri Mar 17 2023 - 22:32:05 EST


Hi,

在 2023/03/17 11:30, Yu Kuai 写道:
Hi,

在 2023/03/17 10:30, kernel test robot 写道:

Greeting,

FYI, we noticed INFO:task_blocked_for_more_than#seconds due to commit (built with gcc-11):

commit: af2203c7e88c00d3ce072f18c18a36e2936372fd ("[PATCH v2 3/5] md: use md_thread api to wake up sync_thread")
url: https://github.com/intel-lab-lkp/linux/commits/Yu-Kuai/md-pass-a-md_thread-pointer-to-md_register_thread/20230315-142018
base: git://git.kernel.org/cgit/linux/kernel/git/song/md.git md-next
patch link: https://lore.kernel.org/all/20230315061810.653263-4-yukuai1@xxxxxxxxxxxxxxx/
patch subject: [PATCH v2 3/5] md: use md_thread api to wake up sync_thread


I don't expect there is any difference between:

if (mddev->sync_thread)
    wake_up_process(mddev->sync_thread->tsk);

and:

md_wakeup_thread(mddev->sync_thread);

I understand that they are different now.

md_wakeup_thread() only wakeup wait_event() from md_thread(), it will
not wake up 'md_thread->tsk' if it's runing.

Hence this patch is wrong.

Thanks,
Kuai