> -----Original Message-----
> From: KY Srinivasan

> > -----Original Message-----
> > From: Peter Zijlstra [mailto:pet...@infradead.org]
> > Sent: Thursday, August 10, 2017 11:57 AM
> > To: Simon Xiao <six...@microsoft.com>; Haiyang Zhang
> > <haiya...@microsoft.com>; Jork Loeser <jork.loe...@microsoft.com>;
> > Stephen Hemminger <sthem...@microsoft.com>; torvalds@linux-
> > foundation.org; l...@kernel.org; h...@zytor.com; vkuzn...@redhat.com;
> > linux-kernel@vger.kernel.org; rost...@goodmis.org;
> > andy.shevche...@gmail.com; t...@linutronix.de; KY Srinivasan
> > <k...@microsoft.com>; mi...@kernel.org
> > Cc: linux-tip-comm...@vger.kernel.org
> > Subject: Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote
> > TLB flush

> > Hold on.. if we don't IPI for TLB invalidation. What serializes our
> > software page table walkers like fast_gup() ?
> 
> Hypervisor may implement this functionality via an IPI.
> 
> K. Y

HvFlushVirtualAddressList() states:
This call guarantees that by the time control returns back to the caller, the 
observable effects of all flushes on the specified virtual processors have 
occurred.

HvFlushVirtualAddressListEx() refers to HvFlushVirtualAddressList() as adding 
sparse target VP lists.

Is this enough of a guarantee, or do you see other races?

Regards,
Jork

Reply via email to