]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
parisc: Use ldcw instruction for SMP spinlock release barrier
authorJohn David Anglin <dave.anglin@bell.net>
Sun, 14 Apr 2019 23:20:40 +0000 (19:20 -0400)
committerHelge Deller <deller@gmx.de>
Fri, 3 May 2019 21:47:40 +0000 (23:47 +0200)
commit9e5c602186a692a7e848c0da17aed40f49d30519
tree845499e6cc5d1ee17c786233d9a427ab44c2bb6b
parent6c63ef80014b60ab13bee7e683d0a95521bb7fdd
parisc: Use ldcw instruction for SMP spinlock release barrier

There are only a couple of instructions that can function as a memory
barrier on parisc.  Currently, we use the sync instruction as a memory
barrier when releasing a spinlock.  However, the ldcw instruction is a
better barrier when we have a handy memory location since it operates in
the cache on coherent machines.

This patch updates the spinlock release code to use ldcw.  I also
changed the "stw,ma" instructions to "stw" instructions as it is not an
adequate barrier.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
arch/parisc/include/asm/spinlock.h
arch/parisc/kernel/entry.S
arch/parisc/kernel/syscall.S