From: Zhang, X. <xia...@in...> - 2008-04-01 11:09:16
|
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, Carsten I can't understand why it only exist at IA64 side. Thank you! Xiantao |