linux_dsm_epyc7002/arch/parisc
Mikulas Patocka b37d1c1898 parisc: Use per-pagetable spinlock
PA-RISC uses a global spinlock to protect pagetable updates in the TLB
fault handlers. When multiple cores are taking TLB faults simultaneously,
the cache line containing the spinlock becomes a bottleneck.

This patch embeds the spinlock in the top level page directory, so that
every process has its own lock. It improves performance by 30% when
doing parallel compilations.

At least on the N class systems, only one PxTLB inter processor
broadcast can be active at any one time on the Merced bus. If a Merced
bus is found, this patch serializes the TLB flushes with the
pa_tlb_flush_lock spinlock.

v1: Initial patch by Mikulas
v2: Added Merced detection by Helge
v3: Revised TLB serialization by Dave & Helge

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
2019-05-03 23:47:41 +02:00
..
boot parisc: PA-Linux requires at least 32 MB RAM 2019-05-03 23:47:39 +02:00
configs net: Remove CONFIG_NETFILTER_DEBUG and _ASSERT() macros. 2017-09-04 13:25:20 +02:00
include parisc: Use per-pagetable spinlock 2019-05-03 23:47:41 +02:00
kernel parisc: Use per-pagetable spinlock 2019-05-03 23:47:41 +02:00
lib parisc: iomap: introduce io{read|write}64 2019-01-22 13:39:59 +01:00
math-emu signal/parisc: Use force_sig_fault where appropriate 2018-04-25 10:44:06 -05:00
mm parisc: Allow live-patching of __meminit functions 2019-05-03 23:47:40 +02:00
oprofile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
defpalo.conf
install.sh
Kconfig parisc: Switch from DISCONTIGMEM to SPARSEMEM 2019-05-03 23:47:40 +02:00
Kconfig.debug Kconfig: consolidate the "Kernel hacking" menu 2018-08-02 08:06:48 +09:00
Makefile parisc: generate uapi header and system call table files 2018-12-10 08:26:04 +01:00
nm