Re: [04/17] [PATCH] Add kvm arch-specific core code for kvm/ia64.-V8

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Zhang, Xiantao wrote:
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
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.
--
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

[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux