Am 13.05.2010 um 14:29 schrieb Avi Kivity <avi@xxxxxxxxxx>:
On 05/13/2010 03:18 PM, Alexander Graf wrote:
[PATCH 0/7] Consolidate vcpu ioctl locking
In general, all vcpu ioctls need to take the vcpu mutex, but each
one does it
(or not) individually. This is cumbersome and error prone.
This patchset moves all locking to a central place. This is
complicated
by the fact that ppc's KVM_INTERRUPT and s390's KVM_S390_INTERRUPT
break
the convention and need to run unlocked.
Why is the x86 non-kernel-pic path different?
Userspace issues the ioctl from a vcpu thread.
It has to, btw, since whether an interrupt can be injected or not
depends on vcpu-synchronous registers: eflags.if and tpr/cr8.
On ppc we don't have a tpr, but eflags.if is basically the same as
msr.ee.
The major difference apparently is that on ppc we KVM_INTERRUPT pulls
the interrupt line. On vcpu_run we then check whether msr.ee is set
and if so, trigger the interrupt.
I wonder why we don't do the same for x86. The current limitation on
userspace checking eflags and the tpr seems cumbersome.
Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html