On 12/2/22 16:52, Space Meyer wrote:
Also, this does not work I think, because there is
add_wait_queue()/remove_wait_queue() pair. Adding it is not easy
because KVM is using a struct rcuwait here instead of a wait_queue_t.
Ah, sorry. I really was a bit quick on this one. I agree nothing would ever call
woken_wake_function, hence my patch doesn't make sense. Looking at the rcuwait
code I don't see something similar to wait_woken.
Do you see some other way we could avoid the pattern susceptible to the nested
sleeping problem?
No, I think we should just treat them as bugs and fix them.
Paolo