linux/arch/powerpc
Anton Blanchard a6cf7ed511 powerpc/atomic: Implement atomic*_inc_not_zero
Implement atomic_inc_not_zero and atomic64_inc_not_zero. At the
moment we use atomic*_add_unless which requires us to put 0 and
1 constants into registers. We can also avoid a subtract by
saving the original value in a second temporary.

This removes 3 instructions from fget:

- c0000000001b63c0:       39 00 00 00     li      r8,0
- c0000000001b63c4:       39 40 00 01     li      r10,1
...
- c0000000001b63e8:       7c 0a 00 50     subf    r0,r10,r0

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2012-03-07 17:06:08 +11:00
..
boot powerpc/mpic: Add "last-interrupt-source" property to override hardware 2012-02-23 10:50:00 +11:00
configs powerpc: remove CONFIG_PPC_ISERIES from the architecture Kconfig files 2012-02-27 11:33:58 +11:00
include/asm powerpc/atomic: Implement atomic*_inc_not_zero 2012-03-07 17:06:08 +11:00
kernel Merge remote-tracking branch 'origin/master' into next 2012-02-27 10:50:11 +11:00
kvm arch/powerpc/kvm/book3s_hv.c: included linux/sched.h twice 2012-02-27 11:33:58 +11:00
lib powerpc: POWER7 optimised copy_to_user/copy_from_user using VMX 2011-12-19 14:40:40 +11:00
math-emu powerpc/math_emu/efp: Look for errata handler when type mismatches 2011-10-06 23:36:47 -05:00
mm fadump: Register for firmware assisted dump. 2012-02-23 10:50:01 +11:00
net net: filter: BPF 'JIT' compiler for PPC64 2011-07-21 12:38:32 -07:00
oprofile powerpc/oprofile: Handle events that raise an exception without overflowing 2011-05-26 13:38:57 +10:00
perf powerpc/perf: Move perf core & PMU code into a subdirectory 2012-02-23 10:50:04 +11:00
platforms arch/powerpc/platforms/powernv/setup.c: included asm/xics.h twice 2012-02-27 11:33:59 +11:00
sysdev powerpc/mpic: Fix allocation of reverse-map for multi-ISU mpics 2012-02-27 11:33:58 +11:00
xmon powerpc/xmon: Fix #if typo for systems without MSR[RI] 2011-11-25 14:11:28 +11:00
Kconfig powerpc: remove CONFIG_PPC_ISERIES from the architecture Kconfig files 2012-02-27 11:33:58 +11:00
Kconfig.debug powerpc: remove CONFIG_PPC_ISERIES from the architecture Kconfig files 2012-02-27 11:33:58 +11:00
Makefile powerpc/perf: Move perf core & PMU code into a subdirectory 2012-02-23 10:50:04 +11:00
relocs_check.pl powerpc: Process dynamic relocations for kernel 2011-12-20 10:21:08 -05:00