On Thu, Jan 09, 2014 at 03:08:25PM -0500, Hu Yaohui wrote: > Hi Marcelo, > Thanks for your replying! > I hope you have a good day! I am sorry that it's not that obvious to > me after I checked that function. > If the remote vcpu is not in the same pcpu as the sender which calls > kvm_vpcu_kick. > Before the remote vcpu received the Host-IPI, it could be in guest > mode which could possibly access the stale tlb entry that have been > modifed by the sender. > > For smp_call_function_wait, the wait parameter will only let the > sender side wait until the function has been executed on all the > target cpus, then return. > For TLB Flush IPI, the sender has already invalidate one tlb entry, > the received side should get the IPI ASAP to invalidate the specified > tlb before it's accessed, or there should have some mechanisms to > enusre that even the stale tlb entry is accessed, it's still ok. I am > not sure what's the situation here after I reviewed all the source > codes. The sender only considers the TLB entry (or entries) flushed when smp_call_function_wait finishes, that is when the receiver cpu acknowledges it has flushed its TLB. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html