Zhang, Xiantao wrote:
Well, x86 does'nt signal the target processor by accessing the vcpu data structure. They use the IPI signal for that as far as I can see. And s390 does have an explicit lock for this purpose. Itanium however, does not have a lock but does access the target vcpu struct.Carsten Otte wrote:Zhang, Xiantao wrote:Carsten Otte wrote:Zhang, Xiantao wrote:Hi, Carsten Why do you think it is racy? In this function, target_vcpu->arch.launched should be set to 1 for the first run, and keep its value all the time. Except the first IPI to wake up the vcpu, all IPIs received by target vcpu should go into "else" condition. So you mean the race condition exist in "else" code ?For example to lock against destroying that vcpu. Or, the waitqueue may become active after if (waitqueue_active()) and before wake_up_interruptible(). In that case, the target vcpu might sleep and not get waken up by the ipi.I don't think it may cause issue, because the target vcpu at least can be waken up by the timer interrupt. But as you said, x86 side also have the same race issue ?As far as I can tell, x86 does'nt have that race.Hi, CarstenI can't understand why it only exist at IA64 side. Thank you! Xiantao
-- To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |