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 canbe 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. -- 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
![]() |