[V2, 03/10] powerpc/mm/radix: Flush page walk cache when freeing page table

Michael Ellerman mpe at ellerman.id.au
Wed Jun 15 22:37:03 AEST 2016


On Wed, 2016-08-06 at 14:25:51 UTC, "Aneesh Kumar K.V" wrote:
> Even though a tlb_flush() does a flush with invalidate all cache,
> we can end up doing an RCU page table free before calling tlb_flush().
> That means we can have page walk cache entries even after we free the
> page table pages. This can result in us doing wrong page table walk.
> 
> Avoid this by doing pwc flush on every page table free. We can't batch
> the pwc flush, because the rcu call back function where we free the
> page table pages doesn't have information of the mmu gather. Thus we
> have to do a pwc on every page table page freed.
> 
> Note: I also removed the dummy tlb_flush_pgtable call functions for
> hash 32.
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>

Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/a145abf12c9f7d30d8c330c9d8

cheers


More information about the Linuxppc-dev mailing list