[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CY4PR21MB06313B9D59F8846CDDE443F0F1880@CY4PR21MB0631.namprd21.prod.outlook.com>
Date: Thu, 10 Aug 2017 19:08:22 +0000
From: Jork Loeser <Jork.Loeser@...rosoft.com>
To: KY Srinivasan <kys@...rosoft.com>,
Peter Zijlstra <peterz@...radead.org>,
Simon Xiao <sixiao@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
"torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>,
"luto@...nel.org" <luto@...nel.org>,
"hpa@...or.com" <hpa@...or.com>,
"vkuznets@...hat.com" <vkuznets@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"rostedt@...dmis.org" <rostedt@...dmis.org>,
"andy.shevchenko@...il.com" <andy.shevchenko@...il.com>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"mingo@...nel.org" <mingo@...nel.org>
CC: "linux-tip-commits@...r.kernel.org"
<linux-tip-commits@...r.kernel.org>
Subject: RE: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB
flush
> -----Original Message-----
> From: KY Srinivasan
> > -----Original Message-----
> > From: Peter Zijlstra [mailto:peterz@...radead.org]
> > Sent: Thursday, August 10, 2017 11:57 AM
> > To: Simon Xiao <sixiao@...rosoft.com>; Haiyang Zhang
> > <haiyangz@...rosoft.com>; Jork Loeser <Jork.Loeser@...rosoft.com>;
> > Stephen Hemminger <sthemmin@...rosoft.com>; torvalds@...ux-
> > foundation.org; luto@...nel.org; hpa@...or.com; vkuznets@...hat.com;
> > linux-kernel@...r.kernel.org; rostedt@...dmis.org;
> > andy.shevchenko@...il.com; tglx@...utronix.de; KY Srinivasan
> > <kys@...rosoft.com>; mingo@...nel.org
> > Cc: linux-tip-commits@...r.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
Powered by blists - more mailing lists