linux/arch/powerpc/include/asm/nohash
Christophe Leroy 6453f9ed9d powerpc/mm: Don't kmap_atomic() in pte_offset_map() on PPC32
On PPC32, pte_offset_map() does a kmap_atomic() in order to support
page tables allocated in high memory, just like ARM and x86/32.

But since at least 2008 and commit 8054a3428f ("powerpc: Remove dead
CONFIG_HIGHPTE"), page tables are never allocated in high memory.

When the page is in low mem, kmap_atomic() just returns the page
address but still disable preemption and pagefault. And it is
not an inlined function, so we suffer function call for no reason.

Make pte_offset_map() the same as pte_offset_kernel() and make
pte_unmap() void, in the same way as PPC64 which doesn't have HIGHMEM.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/03c97f0f6b3790d164822563be80f2fd4713a955.1581932480.git.christophe.leroy@c-s.fr
2020-03-04 22:44:27 +11:00
..
32 powerpc/mm: Don't kmap_atomic() in pte_offset_map() on PPC32 2020-03-04 22:44:27 +11:00
64 powerpc/mm: refactor ioremap vm area setup. 2019-08-27 13:03:35 +10:00
hugetlb-book3e.h powerpc/mm: cleanup ifdef mess in add_huge_page_size() 2019-05-03 01:20:23 +10:00
mmu-book3e.h powerpc/fsl_booke/32: implement KASLR infrastructure 2019-11-13 19:27:40 +11:00
mmu.h powerpc/mm: get rid of nohash/32/mmu.h and nohash/64/mmu.h 2019-05-03 01:20:24 +10:00
pgalloc.h powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case 2020-02-04 03:05:25 +00:00
pgtable.h powerpc/mm: define empty update_mmu_cache() as static inline 2019-08-20 21:22:14 +10:00
pte-book3e.h powerpc/64: only book3s/64 supports CONFIG_PPC_64K_PAGES 2019-05-03 01:20:23 +10:00
tlbflush.h powerpc: split asm/tlbflush.h 2018-07-30 22:48:21 +10:00