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. Thanks for your time! Best Wishes, Yaohui Hu On Thu, Jan 9, 2014 at 1:47 PM, Marcelo Tosatti <mtosatti@xxxxxxxxxx> wrote: > On Thu, Jan 09, 2014 at 11:28:40AM -0500, Hu Yaohui wrote: >> Hi Macelo, >> I am sorry to bother you again. In your first possibility, >> kvm_vcpu_kick sends an host-IPI to the remote vcpu, >> and if that vcpu is in guest mode, a VM-exit will be triggered due to >> the host-IPI. My question is if the vcpu has >> accessed the stale tlb entry before the host-IPI arrives, what will >> happen? Thanks for your time! >> >> Best Wishes, >> Yaohui Hu > > Yaohui Hu, the reply from a few seconds ago should clarify that (wait > parameter). > -- 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