Re: [PATCH] KVM: Deal with nested sleeps in kvm_vcpu_block()

From: Paolo Bonzini
Date: Fri Dec 02 2022 - 13:29:08 EST


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