linux/arch
Thomas Gleixner 14df326702 x86: Support kmap_local() forced debugging
kmap_local() and related interfaces are NOOPs on 64bit and only create
temporary fixmaps for highmem pages on 32bit. That means the test coverage
for this code is pretty small.

CONFIG_KMAP_LOCAL can be enabled independent from CONFIG_HIGHMEM, which
allows to provide support for enforced kmap_local() debugging even on
64bit.

For 32bit the support is unconditional, for 64bit it's only supported when
CONFIG_NR_CPUS <= 4096 as supporting it for 8192 CPUs would require to set
up yet another fixmap PGT.

If CONFIG_KMAP_LOCAL_FORCE_DEBUG is enabled then kmap_local()/kmap_atomic()
will use the temporary fixmap mapping path.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20201118204007.169209557@linutronix.de
2020-11-24 14:42:09 +01:00
..
alpha highmem: Get rid of kmap_types.h 2020-11-06 23:14:58 +01:00
arc arc/mm/highmem: Use generic kmap atomic implementation 2020-11-06 23:14:55 +01:00
arm ARM: highmem: Switch to generic kmap atomic 2020-11-06 23:14:56 +01:00
arm64 Merge branch 'sched/core' into core/mm 2020-11-24 11:26:11 +01:00
c6x arch-cleanup-2020-10-22 2020-10-23 10:06:38 -07:00
csky csky/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:56 +01:00
h8300 arch-cleanup-2020-10-22 2020-10-23 10:06:38 -07:00
hexagon arch-cleanup-2020-10-22 2020-10-23 10:06:38 -07:00
ia64 highmem: Get rid of kmap_types.h 2020-11-06 23:14:58 +01:00
m68k arch-cleanup-2020-10-22 2020-10-23 10:06:38 -07:00
microblaze microblaze/mm/highmem: Add dropped #ifdef back 2020-11-19 20:49:44 +01:00
mips mips/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:56 +01:00
nds32 nds32/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:57 +01:00
nios2 arch-cleanup-2020-10-22 2020-10-23 10:06:38 -07:00
openrisc highmem: Get rid of kmap_types.h 2020-11-06 23:14:58 +01:00
parisc highmem: Get rid of kmap_types.h 2020-11-06 23:14:58 +01:00
powerpc powerpc/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:57 +01:00
riscv treewide: Convert macro and uses of __section(foo) to __section("foo") 2020-10-25 14:51:49 -07:00
s390 s390: correct __bootdata / __bootdata_preserved macros 2020-10-26 14:18:01 +01:00
sh sh/highmem: Remove all traces of unused cruft 2020-11-06 23:14:54 +01:00
sparc sparc/mm/highmem: Switch to generic kmap atomic 2020-11-06 23:14:57 +01:00
um highmem: Get rid of kmap_types.h 2020-11-06 23:14:58 +01:00
x86 x86: Support kmap_local() forced debugging 2020-11-24 14:42:09 +01:00
xtensa xtensa/mm/highmem: Make generic kmap_atomic() work correctly 2020-11-16 21:19:24 +01:00
.gitignore
Kconfig Merge branch 'work.set_fs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2020-10-22 09:59:21 -07:00