On 23/04/20 10:41, Marc Zyngier wrote: >> >> - if (swait_active(kvm_arch_vcpu_wq(vcpu))) >> + if (rcu_dereference(kvm_arch_vpu_get_wait(vcpu)) != NULL) > This doesn't compile (wrong function name, and rcu_dereference takes a > variable). But whatever it would do if we fixed it looks dodgy. it isn't > the rcuwait structure that you want to dereference, but rcuwait->task > (we are checking whether we are called because we are blocking or being > preempted). > Yes, I agree. Replacing swait with rcuwait is all good, but please make the API look the same first. Just like you added prepare_to_rcuwait and finish_rcuwait, let's add rcuwait_active as well. Actually let's do it like this: 1) Davidlohr, please post only patches 1-3 to "equalize" the swait and rcuwait APIs. 2) Peter, please prepare a topic branch for those, or provide Acked-by 3) let's get everything else through the KVM tree. Thanks, Paolo