On Tue, Jun 12, 2018 at 12:16 AM Nicholas Piggin <npiggin@xxxxxxxxx> wrote: > > +static inline void __tlb_adjust_page_range(struct mmu_gather *tlb, > + unsigned long address, > + unsigned int range_size) > +{ > + tlb->page_start = min(tlb->page_start, address); > + tlb->page_end = max(tlb->page_end, address + range_size); > +} Why add this unnecessary complexity for architectures where it doesn't matter? This is not "generic". This is some crazy powerpc special case. Why add it to generic code, and why make everybody else take the cost? Linus