Thank you Marcelo! I really appreciate your explanation. On Sat, Jan 11, 2014 at 7:27 AM, Marcelo Tosatti <mtosatti@xxxxxxxxxx> wrote: > 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