Re: [RFC 08/20] mm: store completed TLB generation

2021-02-01 Thread Andy Lutomirski
On Sun, Jan 31, 2021 at 11:28 PM Nadav Amit wrote: > > > On Jan 31, 2021, at 12:32 PM, Andy Lutomirski wrote: > > > > On Sat, Jan 30, 2021 at 4:16 PM Nadav Amit wrote: > >> From: Nadav Amit > >> > >> To detect deferred TLB flushes in fine granularity, we need to keep > >> track on the

Re: [RFC 08/20] mm: store completed TLB generation

2021-02-01 Thread Peter Zijlstra
On Sat, Jan 30, 2021 at 04:11:20PM -0800, Nadav Amit wrote: > +static inline void tlb_update_generation(atomic64_t *gen, u64 new_gen) > +{ > + u64 cur_gen = atomic64_read(gen); > + > + while (cur_gen < new_gen) { > + u64 old_gen = atomic64_cmpxchg(gen, cur_gen, new_gen); > + >

Re: [RFC 08/20] mm: store completed TLB generation

2021-01-31 Thread Nadav Amit
> On Jan 31, 2021, at 12:32 PM, Andy Lutomirski wrote: > > On Sat, Jan 30, 2021 at 4:16 PM Nadav Amit wrote: >> From: Nadav Amit >> >> To detect deferred TLB flushes in fine granularity, we need to keep >> track on the completed TLB flush generation for each mm. >> >> Add logic to track for

Re: [RFC 08/20] mm: store completed TLB generation

2021-01-31 Thread Andy Lutomirski
On Sat, Jan 30, 2021 at 4:16 PM Nadav Amit wrote: > > From: Nadav Amit > > To detect deferred TLB flushes in fine granularity, we need to keep > track on the completed TLB flush generation for each mm. > > Add logic to track for each mm the tlb_gen_completed, which tracks the > completed TLB

[RFC 08/20] mm: store completed TLB generation

2021-01-30 Thread Nadav Amit
From: Nadav Amit To detect deferred TLB flushes in fine granularity, we need to keep track on the completed TLB flush generation for each mm. Add logic to track for each mm the tlb_gen_completed, which tracks the completed TLB generation. It is the arch responsibility to call