On 31/07/2017 15:42, Marc Zyngier wrote: >> If the vcpu(me) exit due to request a usermode spinlock, then >> the spinlock-holder may be preempted in usermode or kernmode. >> But if the vcpu(me) is in kernmode, then the holder must be >> preempted in kernmode, so we should choose a vcpu in kernmode >> as the most eligible candidate. > > That seems to preclude any form of locking between userspace and kernel > (which probably wouldn't be Linux). Are you sure that this form of > construct is not used anywhere? I have the feeling this patch could > break this scenario... It's just a heuristic; it would only be broken if you overcommit, and it would be just as broken as if KVM didn't implement directed yield at all. Paolo