linux_dsm_epyc7002/arch/frv/include/asm
Peter Zijlstra d9c7302816 locking/atomic, arch/frv: Implement atomic{,64}_fetch_{add,sub,and,or,xor}()
Implement FETCH-OP atomic primitives, these are very similar to the
existing OP-RETURN primitives we already have, except they return the
value of the atomic variable _before_ modification.

This is especially useful for irreversible operations -- such as
bitops (because it becomes impossible to reconstruct the state prior
to modification).

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: linux-arch@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2016-06-16 10:48:24 +02:00
..
asm-offsets.h kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
atomic_defs.h locking/atomic, arch/frv: Implement atomic{,64}_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:24 +02:00
atomic.h locking/atomic, arch/frv: Implement atomic{,64}_fetch_{add,sub,and,or,xor}() 2016-06-16 10:48:24 +02:00
ax88796.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
barrier.h arch: Clean up asm/barrier.h implementations using asm-generic/barrier.h 2014-01-12 10:37:15 +01:00
bitops.h frv: Rewrite atomic implementation 2015-07-27 14:06:23 +02:00
bug.h Disintegrate asm/system.h for FRV 2012-03-28 18:30:02 +01:00
bugs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
busctl-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
cache.h FRV: ARCH_KMALLOC_MINALIGN was already defined 2010-05-28 10:17:21 -07:00
cacheflush.h block: add helpers to run flush_dcache_page() against a bio and a request's pages 2009-11-26 09:16:19 +01:00
checksum.h ipv6: Pass proto to csum_ipv6_magic as __u8 instead of unsigned short 2016-03-13 23:55:13 -04:00
cmpxchg.h locking/cmpxchg, arch: Remove tas() definitions 2015-12-04 11:39:51 +01:00
cpu-irqs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
current.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
delay.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
device.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
div64.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
dm9000.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
dma-mapping.h dma-mapping: always provide the dma_map_ops based implementation 2016-01-20 17:09:18 -08:00
dma.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
elf.h default SET_PERSONALITY() in linux/elf.h 2013-02-26 02:46:08 -05:00
emergency-restart.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
fb.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
fpu.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
ftrace.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
futex.h futex: Sanitize futex ops argument types 2011-03-11 12:23:31 +01:00
gdb-stub.h frv: extend gdbstub to support more features of gdb 2010-05-25 08:07:02 -07:00
gpio-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
hardirq.h atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
highmem.h kmap_atomic_to_page() has no users, remove it 2015-11-09 15:11:24 -08:00
hw_irq.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
io.h arch/frv/include/asm/io.h: accept const void pointers for read{b,w,l}() 2016-01-20 17:09:18 -08:00
irc-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
irq_regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
irq.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
Kbuild Merge branch 'strscpy' of git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile 2015-10-04 16:31:13 +01:00
kdebug.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
kmap_types.h frv: remove km_type definitions 2012-07-24 15:27:29 +08:00
linkage.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
math-emu.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb86943a.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb93091-fpga-irqs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb93093-fpga-irqs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb93493-irqs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb93493-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mb-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mc146818rtc.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mem-layout.h dma-mapping: rename ARCH_KMALLOC_MINALIGN to ARCH_DMA_MINALIGN 2010-08-11 08:59:21 -07:00
mmu_context.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
mmu.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
module.h Make most arch asm/module.h files use asm-generic/module.h 2012-09-28 14:31:03 +09:30
mutex.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
page.h asm-generic: page.h: Remove useless get_user_page and free_user_page 2016-02-26 15:24:55 +01:00
pci.h PCI: Move pci_dma_* helpers to common code 2016-03-07 10:40:02 -06:00
percpu.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
perf_event.h perf, arch: Rework perf_event_index() 2011-12-21 11:01:07 +01:00
pgalloc.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
pgtable.h mm: add missing __PAGETABLE_{PUD,PMD}_FOLDED defines 2015-02-28 09:57:51 -08:00
processor.h exit_thread: remove empty bodies 2016-05-20 17:58:30 -07:00
ptrace.h UAPI Disintegration 2012-10-10 2012-10-13 11:22:31 +09:00
sections.h frv: remove unused inline function is_in_rom() 2015-06-25 17:00:37 -07:00
segment.h frv: macro whitespace fixes 2015-01-13 15:23:59 +02:00
serial-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
serial.h serial: Fix ASYNC_* => UPF_* flags misuse 2016-01-28 14:17:42 -08:00
setup.h UAPI: (Scripted) Disintegrate arch/frv/include/asm 2012-10-10 12:09:42 +01:00
shmparam.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
signal.h frv: switch to generic old sigaction() 2013-02-03 18:15:55 -05:00
smp.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
spinlock.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
spr-regs.h Fix common misspellings 2011-03-31 11:26:23 -03:00
string.h lib/string.c: remove strnicmp() 2015-02-12 18:54:14 -08:00
switch_to.h Disintegrate asm/system.h for FRV 2012-03-28 18:30:02 +01:00
syscall.h FRV: Implement new-style ptrace 2009-06-11 09:01:26 -07:00
termios.h UAPI: (Scripted) Disintegrate arch/frv/include/asm 2012-10-10 12:09:42 +01:00
thread_info.h frv: Remove signal translation and exec_domain 2015-04-12 20:58:24 +02:00
timer-regs.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
timex.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
tlb.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
tlbflush.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
topology.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
types.h UAPI: (Scripted) Disintegrate arch/frv/include/asm 2012-10-10 12:09:42 +01:00
uaccess.h frv: uaccess s/might_sleep/might_fault/ 2013-05-28 09:41:07 +02:00
ucontext.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
unaligned.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
unistd.h sys_sgetmask/sys_ssetmask: add CONFIG_SGETMASK_SYSCALL 2014-06-04 16:54:14 -07:00
user.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
vga.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00
virtconvert.h Fix common misspellings 2011-03-31 11:26:23 -03:00
xor.h FRV: Move to arch/frv/include/asm/ 2009-04-10 01:48:06 +01:00