[RFC PATCH 3/3] powerpc/64s/radix: optimise TLB flush with precise TLB ranges in mmu_gather
Nicholas Piggin
npiggin at gmail.com
Thu Jun 14 16:51:46 AEST 2018
On Thu, 14 Jun 2018 15:15:47 +0900
Linus Torvalds <torvalds at linux-foundation.org> wrote:
> On Thu, Jun 14, 2018 at 11:49 AM Nicholas Piggin <npiggin at gmail.com> wrote:
> >
> > +#ifndef pte_free_tlb
> > #define pte_free_tlb(tlb, ptep, address) \
> > do { \
> > __tlb_adjust_range(tlb, address, PAGE_SIZE); \
> > __pte_free_tlb(tlb, ptep, address); \
> > } while (0)
> > +#endif
>
> Do you really want to / need to take over the whole pte_free_tlb macro?
>
> I was hoping that you'd just replace the __tlv_adjust_range() instead.
>
> Something like
>
> - replace the
>
> __tlb_adjust_range(tlb, address, PAGE_SIZE);
>
> with a "page directory" version:
>
> __tlb_free_directory(tlb, address, size);
>
> - have the default implementation for that be the old code:
>
> #ifndef __tlb_free_directory
> #define __tlb_free_directory(tlb,addr,size)
> __tlb_adjust_range(tlb, addr, PAGE_SIZE)
> #endif
>
> and that way architectures can now just hook into that
> "__tlb_free_directory()" thing.
>
> Hmm?
Isn't it just easier and less indirection for the arch to just take
over the pte_free_tlb instead?
I don't see what the __tlb_free_directory gets you except having to
follow another macro -- if the arch has something special they want
to do there, just do it in their __pte_free_tlb and call it
pte_free_tlb instead.
Thanks,
Nick
>
> Linus
More information about the Linuxppc-dev
mailing list