Am 06.02.2012 10:59, schrieb Christian Borntraeger:
+static int __sigp_restart(struct kvm_vcpu *vcpu, u16 cpu_addr) +{ + int rc = 0; + struct kvm_s390_float_interrupt *fi =&vcpu->kvm->arch.float_int; + + spin_lock(&fi->lock); + if (fi->local_int[cpu_addr]->action_bits& ACTION_STOP_ON_STOP) + rc = 2; /* busy */ + else + VCPU_EVENT(vcpu, 4, "sigp restart %x to handle userspace", + cpu_addr); + spin_unlock(&fi->lock); + + return rc; +}
local_int->action_bits is protected by the local int lock of subject CPU, as one can see in patch #2 of this series. This is racy. -- 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