linux/arch/m68k
Matthew Wilcox (Oracle) ea845e3173 m68k: implement xor_unlock_is_negative_byte
Using EOR to clear the guaranteed-to-be-set lock bit will test the
negative flag just like the x86 implementation.  This should be more
efficient than the generic implementation in filemap.c.  It would be
better if m68k had __GCC_ASM_FLAG_OUTPUTS__.

Coldfire doesn't have a byte-sized EOR, so we test bit 7 after the EOR,
which is a second memory access, but it's slightly better than the current
C code.

Link: https://lkml.kernel.org/r/20231004165317.1061855-10-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Alexander Gordeev <agordeev@linux.ibm.com>
Cc: Andreas Dilger <adilger.kernel@dilger.ca>
Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Richard Henderson <richard.henderson@linaro.org>
Cc: Sven Schnelle <svens@linux.ibm.com>
Cc: "Theodore Ts'o" <tytso@mit.edu>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-10-18 14:34:16 -07:00
..
68000 m68knommu: updates and fixes for v6.3 2023-02-27 09:31:02 -08:00
amiga m68k: Add asm/config.h 2022-02-21 12:00:20 +01:00
apollo m68k: Add asm/config.h 2022-02-21 12:00:20 +01:00
atari for-5.18/block-2022-03-18 2022-03-21 16:48:55 -07:00
bvme6000 for-5.18/block-2022-03-18 2022-03-21 16:48:55 -07:00
coldfire m68k: coldfire: dma_timer: ERROR: "foo __init bar" should be "foo __init bar" 2023-08-21 08:45:36 +10:00
configs - An extensive rework of kexec and crash Kconfig from Eric DeVolder 2023-08-29 14:53:51 -07:00
emu tty: make tty_operations::write()'s count size_t 2023-08-11 21:12:46 +02:00
fpsp040 m68k: Fix invalid .section syntax 2023-07-24 14:50:02 +02:00
hp300 m68k: removed unused "mach_get_ss" 2022-05-25 00:04:11 +10:00
ifpsp060 m68k: Fix invalid .section syntax 2023-07-24 14:50:02 +02:00
include m68k: implement xor_unlock_is_negative_byte 2023-10-18 14:34:16 -07:00
kernel m68knommu: updates and fixes for v6.6 2023-09-04 11:34:33 -07:00
lib m68k: Replace #include <asm/export.h> with #include <linux/export.h> 2023-08-21 13:27:43 +02:00
mac m68k: mac: Reword comment using double "in" 2022-11-01 12:17:56 +01:00
math-emu m68k: math-emu: Fix typos in comments 2022-05-09 13:13:59 +02:00
mm m68k: implement the new page table range API 2023-08-24 16:20:21 -07:00
mvme16x for-5.18/block-2022-03-18 2022-03-21 16:48:55 -07:00
mvme147 for-5.18/block-2022-03-18 2022-03-21 16:48:55 -07:00
q40 m68k: q40: Do not initialise statics to 0 2023-01-30 16:39:43 +01:00
sun3 m68k: Pass a pointer to virt_to_pfn() virt_to_page() 2023-05-29 11:27:07 +02:00
sun3x m68k: Pass a pointer to virt_to_pfn() virt_to_page() 2023-05-29 11:27:07 +02:00
tools/amiga m68k: tools: Replace zero-length array with flexible-array member 2020-05-25 10:55:56 +02:00
virt m68k: Rework BI_VIRT_RNG_SEED as BI_RNG_SEED 2022-09-28 22:16:44 +02:00
install.sh kbuild: factor out the common installation code into scripts/install.sh 2022-05-11 21:45:53 +09:00
Kbuild m68k: Introduce a virtual m68k machine 2022-04-11 11:48:01 +02:00
Kconfig m68k/kexec: refactor for kernel/Kconfig.kexec 2023-08-18 10:18:53 -07:00
Kconfig.bus m68k: coldfire: drop ISA_DMA_API support 2022-05-16 13:18:30 +10:00
Kconfig.cpu - Nick Piggin's "shoot lazy tlbs" series, to improve the peformance of 2023-04-27 19:42:02 -07:00
Kconfig.debug m68k: Remove obsolete config NO_KERNEL_MSG 2023-03-20 15:39:14 +01:00
Kconfig.devices m68k: /proc/hardware should depend on PROC_FS 2023-02-13 11:34:49 +01:00
Kconfig.machine m68knommu: updates and fixes for v6.4 2023-04-28 16:37:54 -07:00
Makefile kbuild: remove head-y syntax 2022-10-02 18:06:03 +09:00