On Wed, Aug 10, 2016 at 12:57:25PM +0200, Oleg Nesterov wrote: > This condition is fine, and the trace is clear. This means that > lock_page_killable() > was interrupted and wake_bit_function() was not called. We do not need > another wakeup > in this case but somehow it helps. Again, I think because the necessary > wakeup was > already lost/missed.
I suspect the same. Removing that else generates 'spurious' wakeups, which can unstick the situation, hiding the real source of the problem.

