Mark Rutland
39a2e968d2
UPSTREAM: atomics: Make conditional ops return 'bool'
...
Some of the atomics return a status value, which is a boolean value
describing whether the operation was performed. To make it clear that
this is a boolean value, let's update the common fallbacks to return
bool, fixing up the return values and comments likewise.
At the same time, let's simplify the description of the operations in
their respective comments.
The instrumented atomics and generic atomic64 implementation are updated
accordingly.
Note that atomic64_dec_if_positive() doesn't follow the usual test op
pattern, and returns the would-be decremented value. This is not
changed.
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Will Deacon <will.deacon@arm.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Boqun Feng <boqun.feng@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/lkml/20180621121321.4761-5-mark.rutland@arm.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Sorayukii <sorayukii69@gmail.com>
2026-05-15 17:59:14 +07:00
..
bitops
bitops: Do not default to __clear_bit() for __clear_bit_unlock()
2016-03-21 10:50:48 +01:00
4level-fixup.h
mm, asm-generic: define PUD_SHIFT in <asm-generic/4level-fixup.h>
2015-02-11 17:06:03 -08:00
asm-offsets.h
asm-generic: Add common asm-offsets.h
2015-06-23 13:35:49 +09:00
asm-prototypes.h
asm-prototypes: Clear any CPP defines before declaring the functions
2017-01-12 11:39:07 +01:00
atomic-instrumented.h
UPSTREAM: atomics: Make conditional ops return 'bool'
2026-05-15 17:59:14 +07:00
atomic-long.h
UPSTREAM: locking/barriers: Introduce smp_cond_load_relaxed() and atomic_cond_read_relaxed()
2026-05-15 17:58:55 +07:00
atomic.h
BACKPORT: atomics/treewide: Rename __atomic_add_unless() => atomic_fetch_add_unless()
2026-05-15 17:56:39 +07:00
atomic64.h
UPSTREAM: atomics: Make conditional ops return 'bool'
2026-05-15 17:59:14 +07:00
audit_change_attr.h
audit: Modify a set of system calls in audit class definitions
2014-01-17 17:01:46 -05:00
audit_dir_write.h
audit_read.h
audit_signal.h
audit_write.h
audit: Modify a set of system calls in audit class definitions
2014-01-17 17:01:46 -05:00
barrier.h
UPSTREAM: locking/barriers: Introduce smp_cond_load_relaxed() and atomic_cond_read_relaxed()
2026-05-15 17:58:55 +07:00
bitops.h
arch: Prepare for smp_mb__{before,after}_atomic()
2014-04-18 11:40:30 +02:00
bitsperlong.h
bug.h
bug.h: work around GCC PR82365 in BUG()
2019-07-10 09:55:44 +02:00
bugs.h
cache.h
cacheflush.h
checksum.h
ipv4: Update parameters for csum_tcpudp_magic to their original types
2016-03-13 23:55:13 -04:00
clkdev.h
asm-generic: COMMON_CLK defines __clk_{get,put}
2014-09-25 18:00:45 -07:00
cmpxchg-local.h
LLVMLinux: Remove warning about returning an uninitialized variable
2014-04-09 13:44:35 -07:00
cmpxchg.h
asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations
2015-10-15 00:21:13 +02:00
cputime.h
cputime_jiffies.h
sched, time: Fix build error with 64 bit cputime_t on 32 bit systems
2014-10-03 05:46:55 +02:00
cputime_nsecs.h
sched/cputime: Count actually elapsed irq & softirq time
2016-07-14 10:42:34 +02:00
current.h
delay.h
device.h
div64.h
__div64_32(): make it overridable at compile time
2015-11-16 14:42:12 -05:00
dma-contiguous.h
asm-generic: Add dma-contiguous.h
2014-09-22 13:35:51 +02:00
dma.h
early_ioremap.h
Merge branch 'akpm' (patches from Andrew)
2015-09-08 17:52:23 -07:00
emergency-restart.h
error-injection.h
BACKPORT: error-injection: Separate error-injection from kprobe
2026-05-15 17:56:33 +07:00
exec.h
export.h
Revert "default exported asm symbols to zero"
2016-12-07 08:39:00 -08:00
fb.h
fixmap.h
asm-generic: Fix local variable shadow in __set_fixmap_offset
2016-02-16 15:10:44 +00:00
ftrace.h
futex.h
futex: Remove duplicated code and fix undefined behaviour
2018-05-19 10:27:00 +02:00
getorder.h
asm-generic: fix -Wtype-limits compiler warnings
2019-08-25 10:51:50 +02:00
gpio.h
gpio: allow setting ARCH_NR_GPIOS from Kconfig
2016-02-19 00:22:54 +01:00
hardirq.h
hugetlb.h
hw_irq.h
ide_iops.h
int-ll64.h
io.h
asm-generic/io.h: add io{read,write}64 accessors
2016-05-31 16:41:50 +08:00
ioctl.h
include/asm-generic/ioctl.h: fix _IOC_TYPECHECK sparse error
2014-06-06 16:08:13 -07:00
iomap.h
asm-generic/io.h: add io{read,write}64 accessors
2016-05-31 16:41:50 +08:00
irq.h
irq_regs.h
irq_work.h
irq_work: Introduce arch_irq_work_has_interrupt()
2014-09-13 18:38:07 +02:00
irqflags.h
kdebug.h
kmap_types.h
kvm_para.h
linkage.h
local.h
local64.h
mcs_spinlock.h
locking/mcs: Allow architecture specific asm files to be used for contended case
2014-02-09 21:18:52 +01:00
memory_model.h
mm: add PHYS_PFN, use it in __phys_to_pfn()
2016-01-14 16:00:49 -08:00
mm-arch-hooks.h
mm: clean up per architecture MM hook header files
2015-07-17 16:39:53 -07:00
mm_hooks.h
mm/core, x86/mm/pkeys: Differentiate instruction fetches
2016-02-18 19:46:29 +01:00
mmu.h
mmu_context.h
asm-generic: Remove asm-generic arch_bprm_mm_init()
2014-11-22 21:52:08 +01:00
module.h
msi.h
asm-generic: Add msi.h
2014-11-23 13:01:47 +01:00
mutex-dec.h
locking/mutex: Optimize mutex_trylock() fast-path
2016-06-08 15:17:01 +02:00
mutex-null.h
mutex-xchg.h
locking/mutex: Optimize mutex_trylock() fast-path
2016-06-08 15:17:01 +02:00
mutex.h
okl4_virq.h
aarch64: add core okl4 hypervisor config
2018-11-28 23:42:02 -08:00
page.h
asm-generic: page.h: Remove useless get_user_page and free_user_page
2016-02-26 15:24:55 +01:00
param.h
parport.h
pci.h
PCI: Remove unused pcibios_select_root() (again)
2015-06-08 07:56:21 -05:00
pci_iomap.h
PCI: Add pci_iomap_wc() variants
2015-08-25 09:59:45 +02:00
percpu.h
percpu: make this_cpu_generic_read() atomic w.r.t. interrupts
2017-10-12 11:51:23 +02:00
pgalloc.h
pgtable-nopmd.h
pgtable-nopud.h
pgtable.h
treewide: Backport new vmalloc for large performance benefits
2026-05-15 17:48:25 +07:00
preempt.h
sched/preempt: Fix preempt_count manipulations
2016-05-17 12:24:21 +02:00
ptrace.h
qrwlock.h
locking/qrwlock: Prevent slowpath writers getting held up by fastpath
2018-06-25 03:25:29 -07:00
qrwlock_types.h
locking/qrwlock: Prevent slowpath writers getting held up by fastpath
2018-06-25 03:25:29 -07:00
qspinlock.h
locking/qspinlock: Use atomic_sub_return_release() in queued_spin_unlock()
2016-06-08 15:17:01 +02:00
qspinlock_types.h
locking/qspinlock: Pull in asm/byteorder.h to ensure correct endianness
2019-01-26 09:38:36 +01:00
resource.h
asm-generic: remove _STK_LIM_MAX
2014-05-15 00:32:09 +01:00
rwsem.h
locking/rwsem: Remove rwsem_atomic_add() and rwsem_atomic_update()
2016-06-08 15:16:59 +02:00
seccomp.h
seccomp: Get compat syscalls from asm-generic header
2016-05-13 14:02:00 +02:00
sections.h
This is the 4.9.327 stable release
2022-09-05 14:02:59 +02:00
segment.h
serial.h
set_memory.h
treewide: Backport new vmalloc for large performance benefits
2026-05-15 17:48:25 +07:00
siginfo.h
SIGNAL: Move generic copy_siginfo() to signal.h
2016-05-13 14:02:10 +02:00
signal.h
simd.h
sizes.h
spinlock.h
statfs.h
string.h
switch_to.h
syscall.h
syscall.h: fix doc text for syscall_get_arch()
2014-09-23 16:20:00 -04:00
syscalls.h
termios-base.h
termios.h
timex.h
tlb.h
UPSTREAM: mm/tlb: Provide default nmi_uaccess_okay()
2026-05-15 17:59:03 +07:00
tlbflush.h
topology.h
include/asm-generic/topology.h: guard cpumask_of_node() macro argument
2020-06-03 08:16:42 +02:00
trace_clock.h
uaccess-unaligned.h
uaccess.h
exceptions: detritus removal
2016-09-27 21:15:14 -04:00
unaligned.h
asm-generic: allow generic unaligned access if the arch supports it
2014-05-08 10:22:23 +02:00
unistd.h
user.h
vga.h
vmlinux.lds.h
BACKPORT: vmlinux.lds.h: Avoid copy/paste of security_init section
2026-05-15 17:59:06 +07:00
vtime.h
word-at-a-time.h
Make asm/word-at-a-time.h available on all architectures
2015-07-08 16:41:55 -04:00
xor.h