Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-06-07 Thread Andy Lutomirski
On Jun 6, 2019, at 10:28 PM, Nadav Amit wrote: >> On May 31, 2019, at 3:07 PM, Nadav Amit wrote: >> >>> On May 31, 2019, at 2:47 PM, Andy Lutomirski wrote: >>> >>> >>> On May 31, 2019, at 2:33 PM, Nadav Amit wrote: >>> > On May 31, 2019, at 2:14 PM, Andy Lutomirski wrote: >

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-06-06 Thread Nadav Amit
> On May 31, 2019, at 3:07 PM, Nadav Amit wrote: > >> On May 31, 2019, at 2:47 PM, Andy Lutomirski wrote: >> >> >> On May 31, 2019, at 2:33 PM, Nadav Amit wrote: >> On May 31, 2019, at 2:14 PM, Andy Lutomirski wrote: > On Thu, May 30, 2019 at 11:37 PM Nadav Amit wrote:

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Nadav Amit
> On May 31, 2019, at 2:47 PM, Andy Lutomirski wrote: > > > On May 31, 2019, at 2:33 PM, Nadav Amit wrote: > >>> On May 31, 2019, at 2:14 PM, Andy Lutomirski wrote: >>> On Thu, May 30, 2019 at 11:37 PM Nadav Amit wrote: When we flush userspace mappings, we can defer the TLB

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Andy Lutomirski
On May 31, 2019, at 2:33 PM, Nadav Amit wrote: >> On May 31, 2019, at 2:14 PM, Andy Lutomirski wrote: >> >>> On Thu, May 30, 2019 at 11:37 PM Nadav Amit wrote: >>> When we flush userspace mappings, we can defer the TLB flushes, as long >>> the following conditions are met: >>> >>> 1. No

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Nadav Amit
> On May 31, 2019, at 2:14 PM, Andy Lutomirski wrote: > > On Thu, May 30, 2019 at 11:37 PM Nadav Amit wrote: >> When we flush userspace mappings, we can defer the TLB flushes, as long >> the following conditions are met: >> >> 1. No tables are freed, since otherwise speculative page walks

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Andy Lutomirski
On Thu, May 30, 2019 at 11:37 PM Nadav Amit wrote: > > When we flush userspace mappings, we can defer the TLB flushes, as long > the following conditions are met: > > 1. No tables are freed, since otherwise speculative page walks might >cause machine-checks. > > 2. No one would access

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Dave Hansen
On 5/31/19 1:37 PM, Andy Lutomirski wrote: >> Modulo bugs^Werrata... No. What actually happens is that a >> try-to-set-dirty-bit page table walk acts just like a TLB miss. The old >> contents of the TLB are discarded and only the in-memory contents matter >> for forward progress. If Present=0

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Nadav Amit
> On May 31, 2019, at 1:37 PM, Andy Lutomirski wrote: > > On Fri, May 31, 2019 at 1:13 PM Dave Hansen wrote: >> On 5/31/19 12:31 PM, Nadav Amit wrote: On May 31, 2019, at 11:44 AM, Andy Lutomirski wrote: > On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote: >

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Jann Horn
On Fri, May 31, 2019 at 10:04 PM Nadav Amit wrote: > > On May 31, 2019, at 12:20 PM, Jann Horn wrote: > > On Fri, May 31, 2019 at 8:29 PM Nadav Amit wrote: > >> [ +Jann Horn ] > >> > >>> On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote: > >>> > >>> On Thu, May 30, 2019 at 11:36:44PM -0700,

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Andy Lutomirski
On Fri, May 31, 2019 at 1:13 PM Dave Hansen wrote: > > On 5/31/19 12:31 PM, Nadav Amit wrote: > >> On May 31, 2019, at 11:44 AM, Andy Lutomirski wrote: > >> > >> > >> > >>> On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote: > >>> > On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Dave Hansen
On 5/31/19 12:31 PM, Nadav Amit wrote: >> On May 31, 2019, at 11:44 AM, Andy Lutomirski wrote: >> >> >> >>> On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote: >>> On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote: When we flush userspace mappings, we can defer the TLB flushes,

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Nadav Amit
> On May 31, 2019, at 12:20 PM, Jann Horn wrote: > > On Fri, May 31, 2019 at 8:29 PM Nadav Amit wrote: >> [ +Jann Horn ] >> >>> On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote: >>> >>> On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote: When we flush userspace mappings, we can

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Nadav Amit
> On May 31, 2019, at 11:44 AM, Andy Lutomirski wrote: > > > >> On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote: >> >>> On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote: >>> When we flush userspace mappings, we can defer the TLB flushes, as long >>> the following conditions are

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Jann Horn
On Fri, May 31, 2019 at 8:29 PM Nadav Amit wrote: > > [ +Jann Horn ] > > > On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote: > > > > On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote: > >> When we flush userspace mappings, we can defer the TLB flushes, as long > >> the following

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Andy Lutomirski
> On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote: > >> On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote: >> When we flush userspace mappings, we can defer the TLB flushes, as long >> the following conditions are met: >> >> 1. No tables are freed, since otherwise speculative page

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Nadav Amit
[ +Jann Horn ] > On May 31, 2019, at 3:57 AM, Peter Zijlstra wrote: > > On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote: >> When we flush userspace mappings, we can defer the TLB flushes, as long >> the following conditions are met: >> >> 1. No tables are freed, since otherwise

Re: [RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Peter Zijlstra
On Thu, May 30, 2019 at 11:36:44PM -0700, Nadav Amit wrote: > When we flush userspace mappings, we can defer the TLB flushes, as long > the following conditions are met: > > 1. No tables are freed, since otherwise speculative page walks might >cause machine-checks. > > 2. No one would access

[RFC PATCH v2 11/12] x86/mm/tlb: Use async and inline messages for flushing

2019-05-31 Thread Nadav Amit
When we flush userspace mappings, we can defer the TLB flushes, as long the following conditions are met: 1. No tables are freed, since otherwise speculative page walks might cause machine-checks. 2. No one would access userspace before flush takes place. Specifically, NMI handlers and