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.
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization