Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-17 Thread Vitaly Kuznetsov
Boris Ostrovsky writes: > On 08/16/2017 12:42 PM, Vitaly Kuznetsov wrote: >> Vitaly Kuznetsov writes: >> >>> In case we decide to go HAVE_RCU_TABLE_FREE for all PARAVIRT-enabled >>> kernels (as it seems to be the easiest/fastest way to fix Xen

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-17 Thread Vitaly Kuznetsov
Boris Ostrovsky writes: > On 08/16/2017 12:42 PM, Vitaly Kuznetsov wrote: >> Vitaly Kuznetsov writes: >> >>> In case we decide to go HAVE_RCU_TABLE_FREE for all PARAVIRT-enabled >>> kernels (as it seems to be the easiest/fastest way to fix Xen PV) - what >>> do you think about the required

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-16 Thread Boris Ostrovsky
On 08/16/2017 12:42 PM, Vitaly Kuznetsov wrote: > Vitaly Kuznetsov writes: > >> Peter Zijlstra writes: >> >>> On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote: On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-16 Thread Boris Ostrovsky
On 08/16/2017 12:42 PM, Vitaly Kuznetsov wrote: > Vitaly Kuznetsov writes: > >> Peter Zijlstra writes: >> >>> On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote: On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra wrote: > I'm sure we talked about using

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-16 Thread Vitaly Kuznetsov
Vitaly Kuznetsov writes: > Peter Zijlstra writes: > >> On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote: >>> On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra >>> wrote: >>> > >>> > I'm sure we talked about using

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-16 Thread Vitaly Kuznetsov
Vitaly Kuznetsov writes: > Peter Zijlstra writes: > >> On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote: >>> On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra >>> wrote: >>> > >>> > I'm sure we talked about using HAVE_RCU_TABLE_FREE for x86 (and yes that >>> > would make it work

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-14 Thread Vitaly Kuznetsov
Peter Zijlstra writes: > On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote: >> On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra wrote: >> > >> > I'm sure we talked about using HAVE_RCU_TABLE_FREE for x86 (and yes that >> > would make it

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-14 Thread Vitaly Kuznetsov
Peter Zijlstra writes: > On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote: >> On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra wrote: >> > >> > I'm sure we talked about using HAVE_RCU_TABLE_FREE for x86 (and yes that >> > would make it work again), but this was some years ago and I

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote: > On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra wrote: > > > > I'm sure we talked about using HAVE_RCU_TABLE_FREE for x86 (and yes that > > would make it work again), but this was some years ago and I cannot >

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote: > On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra wrote: > > > > I'm sure we talked about using HAVE_RCU_TABLE_FREE for x86 (and yes that > > would make it work again), but this was some years ago and I cannot > > readily find those

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Linus Torvalds
On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra wrote: > > I'm sure we talked about using HAVE_RCU_TABLE_FREE for x86 (and yes that > would make it work again), but this was some years ago and I cannot > readily find those emails. I think the only time we really talked

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Linus Torvalds
On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra wrote: > > I'm sure we talked about using HAVE_RCU_TABLE_FREE for x86 (and yes that > would make it work again), but this was some years ago and I cannot > readily find those emails. I think the only time we really talked about HAVE_RCU_TABLE_FREE

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 03:07:29PM +0200, Juergen Gross wrote: > On 11/08/17 14:54, Peter Zijlstra wrote: > > On Fri, Aug 11, 2017 at 02:46:41PM +0200, Juergen Gross wrote: > >> Aah, okay. Now I understand the problem. The TLB isn't the issue but the > >> IPI is serving two purposes here: TLB

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 03:07:29PM +0200, Juergen Gross wrote: > On 11/08/17 14:54, Peter Zijlstra wrote: > > On Fri, Aug 11, 2017 at 02:46:41PM +0200, Juergen Gross wrote: > >> Aah, okay. Now I understand the problem. The TLB isn't the issue but the > >> IPI is serving two purposes here: TLB

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Juergen Gross
On 11/08/17 14:54, Peter Zijlstra wrote: > On Fri, Aug 11, 2017 at 02:46:41PM +0200, Juergen Gross wrote: >> Aah, okay. Now I understand the problem. The TLB isn't the issue but the >> IPI is serving two purposes here: TLB flushing (which is allowed to >> happen at any time) and serialization

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Juergen Gross
On 11/08/17 14:54, Peter Zijlstra wrote: > On Fri, Aug 11, 2017 at 02:46:41PM +0200, Juergen Gross wrote: >> Aah, okay. Now I understand the problem. The TLB isn't the issue but the >> IPI is serving two purposes here: TLB flushing (which is allowed to >> happen at any time) and serialization

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 02:46:41PM +0200, Juergen Gross wrote: > Aah, okay. Now I understand the problem. The TLB isn't the issue but the > IPI is serving two purposes here: TLB flushing (which is allowed to > happen at any time) and serialization regarding access to critical pages > (which seems

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 02:46:41PM +0200, Juergen Gross wrote: > Aah, okay. Now I understand the problem. The TLB isn't the issue but the > IPI is serving two purposes here: TLB flushing (which is allowed to > happen at any time) and serialization regarding access to critical pages > (which seems

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Juergen Gross
On 11/08/17 14:35, Peter Zijlstra wrote: > On Fri, Aug 11, 2017 at 02:22:25PM +0200, Juergen Gross wrote: >> Wait - the TLB can be cleared at any time, as Andrew was pointing out. >> No cpu can rely on an address being accessible just because IF is being >> cleared. All that matters is the

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Juergen Gross
On 11/08/17 14:35, Peter Zijlstra wrote: > On Fri, Aug 11, 2017 at 02:22:25PM +0200, Juergen Gross wrote: >> Wait - the TLB can be cleared at any time, as Andrew was pointing out. >> No cpu can rely on an address being accessible just because IF is being >> cleared. All that matters is the

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 02:22:25PM +0200, Juergen Gross wrote: > Wait - the TLB can be cleared at any time, as Andrew was pointing out. > No cpu can rely on an address being accessible just because IF is being > cleared. All that matters is the existing and valid page table entry. > > So clearing

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 02:22:25PM +0200, Juergen Gross wrote: > Wait - the TLB can be cleared at any time, as Andrew was pointing out. > No cpu can rely on an address being accessible just because IF is being > cleared. All that matters is the existing and valid page table entry. > > So clearing

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Juergen Gross
On 11/08/17 12:56, Peter Zijlstra wrote: > On Fri, Aug 11, 2017 at 11:23:10AM +0200, Vitaly Kuznetsov wrote: >> Peter Zijlstra <pet...@infradead.org> writes: >> >>> On Thu, Aug 10, 2017 at 07:08:22PM +, Jork Loeser wrote: >>> >>>>>> S

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Juergen Gross
On 11/08/17 12:56, Peter Zijlstra wrote: > On Fri, Aug 11, 2017 at 11:23:10AM +0200, Vitaly Kuznetsov wrote: >> Peter Zijlstra writes: >> >>> On Thu, Aug 10, 2017 at 07:08:22PM +, Jork Loeser wrote: >>> >>>>>> Subject: Re: [tip:x86/platform

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Kirill A. Shutemov
On Fri, Aug 11, 2017 at 11:03:36AM +0200, Peter Zijlstra wrote: > On Fri, Aug 11, 2017 at 01:15:18AM +, Jork Loeser wrote: > > > > > HvFlushVirtualAddressList() states: > > > > This call guarantees that by the time control returns back to the > > > > caller, the observable effects of all

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Kirill A. Shutemov
On Fri, Aug 11, 2017 at 11:03:36AM +0200, Peter Zijlstra wrote: > On Fri, Aug 11, 2017 at 01:15:18AM +, Jork Loeser wrote: > > > > > HvFlushVirtualAddressList() states: > > > > This call guarantees that by the time control returns back to the > > > > caller, the observable effects of all

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 11:23:10AM +0200, Vitaly Kuznetsov wrote: > Peter Zijlstra <pet...@infradead.org> writes: > > > On Thu, Aug 10, 2017 at 07:08:22PM +, Jork Loeser wrote: > > > >> > > Subject: Re: [tip:x86/platform] x86/hyper-v: Use h

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 11:23:10AM +0200, Vitaly Kuznetsov wrote: > Peter Zijlstra writes: > > > On Thu, Aug 10, 2017 at 07:08:22PM +, Jork Loeser wrote: > > > >> > > Subject: Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote > >> &g

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Vitaly Kuznetsov
Peter Zijlstra <pet...@infradead.org> writes: > On Thu, Aug 10, 2017 at 07:08:22PM +, Jork Loeser wrote: > >> > > Subject: Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote >> > > TLB flush >> >> > > Hold on.. if

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Vitaly Kuznetsov
Peter Zijlstra writes: > On Thu, Aug 10, 2017 at 07:08:22PM +, Jork Loeser wrote: > >> > > 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 s

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 01:15:18AM +, Jork Loeser wrote: > > > 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. > > > > > >

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-11 Thread Peter Zijlstra
On Fri, Aug 11, 2017 at 01:15:18AM +, Jork Loeser wrote: > > > 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. > > > > > >

RE: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread Jork Loeser
g; 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_gu

RE: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread Jork Loeser
t; h...@zytor.com; vkuzn...@redhat.com; linux-kernel@vger.kernel.org; > rost...@goodmis.org; andy.shevche...@gmail.com; t...@linutronix.de; > mi...@kernel.org; linux-tip-comm...@vger.kernel.org > Subject: Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB > flush > > > >

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 07:08:22PM +, Jork Loeser wrote: > > > 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 > > > so

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 07:08:22PM +, Jork Loeser wrote: > > > 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 > > > so

RE: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread Jork Loeser
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 f

RE: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread Jork Loeser
inger ; 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 > > ; mi...@kernel.org > > Cc: linux-tip-comm

RE: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread KY Srinivasan
el.org > Cc: linux-tip-comm...@vger.kernel.org > Subject: Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB > flush > > On Thu, Aug 10, 2017 at 11:21:49AM -0700, tip-bot for Vitaly Kuznetsov > wrote: > > Commit-ID: 2ffd9e33ce4af4e8cfa3e17bf493defe8474e2eb &g

RE: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread KY Srinivasan
.@redhat.com; > linux-kernel@vger.kernel.org; rost...@goodmis.org; > andy.shevche...@gmail.com; t...@linutronix.de; KY Srinivasan > ; mi...@kernel.org > Cc: linux-tip-comm...@vger.kernel.org > Subject: Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB > flush >

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 11:21:49AM -0700, tip-bot for Vitaly Kuznetsov wrote: > Commit-ID: 2ffd9e33ce4af4e8cfa3e17bf493defe8474e2eb > Gitweb: http://git.kernel.org/tip/2ffd9e33ce4af4e8cfa3e17bf493defe8474e2eb > Author: Vitaly Kuznetsov > AuthorDate: Wed, 2 Aug 2017

Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush

2017-08-10 Thread Peter Zijlstra
On Thu, Aug 10, 2017 at 11:21:49AM -0700, tip-bot for Vitaly Kuznetsov wrote: > Commit-ID: 2ffd9e33ce4af4e8cfa3e17bf493defe8474e2eb > Gitweb: http://git.kernel.org/tip/2ffd9e33ce4af4e8cfa3e17bf493defe8474e2eb > Author: Vitaly Kuznetsov > AuthorDate: Wed, 2 Aug 2017 18:09:19 +0200 >