On Fri, 24 Aug 2018 16:52:43 +0100 Will Deacon <[email protected]> wrote:
> From: Peter Zijlstra <[email protected]> > > Some architectures require different TLB invalidation instructions > depending on whether it is only the last-level of page table being > changed, or whether there are also changes to the intermediate > (directory) entries higher up the tree. > > Add a new bit to the flags bitfield in struct mmu_gather so that the > architecture code can operate accordingly if it's the intermediate > levels being invalidated. > > Signed-off-by: Peter Zijlstra <[email protected]> > Signed-off-by: Will Deacon <[email protected]> powerpc should be able to move right over to using this rather than keeping the bit in need_flush_all. powerpc may be able to use the unmap granule thing to improve its page size dependent flushes, but it might prefer to go a different way and track start-end for different page sizes. I wonder how much of that stuff should go into generic code, and whether it should instead go into a struct arch_mmu_gather. Thanks, Nick

