Re: [PATCH v2 1/3] sched: Avoid that __wait_on_bit_lock() hangs

From: Bart Van Assche
Date: Sat Aug 06 2016 - 18:27:37 EST


On 08/05/16 16:09, Bart Van Assche wrote:
If delivery of a signal and __wake_up_common() happen concurrently
it is possible that the signal is delivered after __wake_up_common()
woke up the affected task and before bit_wait_io() checks whether a
signal is pending. Avoid that the next waiter is not woken up if this
happens.

(replying to my own e-mail)

Although this patch works reliably in my tests, the above description does not explain the hang. I will resend this patch with a better description.

Bart.