wait_event()\wake_up order fails?
From: Muni Sekhar
Date: Thu Jun 16 2016 - 08:49:22 EST
Hi All,
I have a kernel thread THREAD_A and it waits for an event by calling
wait_event() API.
Other thread THREAD_B wakes up the THREAD_A by calling wake_up() API.
In a concurrent execution, what if the wake_up() is called before
THREAD_A entering into TASK_UNINTERRUPTIBLE sleep?
I have noticed in running long soak test, THREAD_A enters into
TASK_UNINTERRUPTIBLE sleep and THREAD_Bâs wake_up() not able to wake
the THREAD_A, what might be the reason for this?
I would like to know in which scenario wake_up() fails to wake the
sleeping thread?
--
Thanks,
Sekhar