kernel-fxtec-pro1x/arch/s390/include/asm
Martin Schwidefsky 39475179d4 [S390] Improve code generated by atomic operations.
Git commit ea43546750 changed the
definition of atomic_t and atomic64_t for s390 by adding the volatile
modifier to the counter field. This has an unfortunate side effect
with newer versions of the gcc. The typeof operator now picks up the
volatile modifier from the expression. This causes the compiler to
think that it has to store the two temporary variable old_val and
new_val in the __CS_LOOP for the different atomic operations to the
stack as the variables are now volatile. Both stores are superfluous.

The hack to replace typeof(ptr->counter) with int in __CS_LOOP and
and long long in __CSG_LOOP avoids the two stores. A better solution
would be to drop the volatile from the counter field of the atomic_t
and atomic64_t definition. But that is a touchy subject ..

Cc: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2009-12-07 12:51:36 +01:00
..
airq.h
appldata.h
atomic.h [S390] Improve code generated by atomic operations. 2009-12-07 12:51:36 +01:00
auxvec.h
bitops.h [S390] bitops: remove likely annotations 2009-03-26 15:24:23 +01:00
bitsperlong.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
bug.h s390: Convert BUG() to use unreachable() 2009-12-05 09:10:12 -08:00
bugs.h
byteorder.h byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
cache.h
cacheflush.h
ccwdev.h [S390] cio: split PGID settings and status 2009-12-07 12:51:31 +01:00
ccwgroup.h [S390] pm: ccwgroup bus power management callbacks 2009-06-16 10:31:08 +02:00
checksum.h [S390] convert/optimize csum_fold() to C 2009-09-11 10:29:43 +02:00
chpid.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
chsc.h [S390] cio: move scsw helper functions to header file 2009-09-11 10:29:36 +02:00
cio.h [S390] cio: move scsw helper functions to header file 2009-09-11 10:29:36 +02:00
cmb.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
compat.h [S390] implement is_compat_task 2009-06-12 10:27:30 +02:00
cpcmd.h
cpu.h [S390] Get rid of cpuid.h header file. 2009-09-11 10:29:56 +02:00
cputime.h [S390] cputime: fix overflow on 31 bit systems 2009-10-29 15:05:13 +01:00
crw.h [S390] split/move machine check handler code 2009-03-26 15:24:10 +01:00
current.h
dasd.h [S390] dasd: add large volume support 2009-03-26 15:24:05 +01:00
debug.h [S390] s390dbf: Add description for usage of "%s" in sprintf events 2009-09-11 10:29:53 +02:00
delay.h [S390] Provide arch specific mdelay implementation. 2009-10-06 10:35:08 +02:00
device.h
diag.h
div64.h
dma.h
ebcdic.h
elf.h [S390] 64-bit register support for 31-bit processes 2009-10-06 10:35:10 +02:00
emergency-restart.h
errno.h
etr.h
extmem.h
fb.h
fcntl.h
fcx.h
ftrace.h [S390] ftrace: add function graph tracer support 2009-06-12 10:27:39 +02:00
futex.h
hardirq.h [S390] remove unused irq_cpustat_t defintion 2009-09-11 10:29:48 +02:00
hugetlb.h
idals.h [S390] dasd: add High Performance FICON support 2009-03-26 15:24:05 +01:00
io.h
ioctl.h
ioctls.h
ipcbuf.h
ipl.h [S390] kernel: Append scpdata to kernel boot command line 2009-09-11 10:29:46 +02:00
irq.h
irq_regs.h
irqflags.h
isc.h
itcw.h
Kbuild byteorder: make swab.h include asm/swab.h like a regular header 2009-01-14 19:56:50 -08:00
kdebug.h
kexec.h
kmap_types.h kmap_types: make most arches use generic header file 2009-06-16 19:47:51 -07:00
kprobes.h
kvm.h KVM: s390: remove unused structs 2009-09-10 08:33:15 +03:00
kvm_host.h Merge branch 'kvm-updates/2.6.32' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2009-09-14 17:43:43 -07:00
kvm_para.h KVM: Add __KERNEL__ guards to exported headers 2009-09-10 10:46:48 +03:00
kvm_virtio.h [S390] kvm: use console_initcall() to initialize s390 virtio console 2009-09-11 10:29:52 +02:00
linkage.h
local.h
lowcore.h [S390] hibernate: Do real CPU swap at resume time 2009-09-22 22:58:46 +02:00
mathemu.h
mman.h mm: remove duplicate asm/mman.h files 2009-09-22 07:17:42 -07:00
mmu.h [S390] fix recursive locking on page_table_lock 2009-09-11 10:29:53 +02:00
mmu_context.h [S390] Improve address space mode selection. 2009-12-07 12:51:33 +01:00
module.h
monwriter.h
msgbuf.h
mutex.h
nmi.h [S390] split/move machine check handler code 2009-03-26 15:24:10 +01:00
page.h [S390] Enable guest page hinting by default. 2009-09-11 10:29:54 +02:00
param.h
pci.h
percpu.h s390: switch to dynamic percpu allocator 2009-06-24 15:13:53 +09:00
perf_event.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
pgalloc.h [S390] Improve address space mode selection. 2009-12-07 12:51:33 +01:00
pgtable.h [S390] vmalloc: add vmalloc kernel parameter support 2009-06-12 10:27:33 +02:00
poll.h
posix_types.h [S390] asm-s390/posix_types.h: drop __USE_ALL usage 2009-01-09 12:15:04 +01:00
processor.h [S390] fix disabled_wait inline assembly clobber list 2009-09-22 22:58:45 +02:00
ptrace.h [S390] 64-bit register support for 31-bit processes 2009-10-06 10:35:10 +02:00
qdio.h [S390] qdio: Sanitize do_QDIO sanity checks 2009-06-22 12:08:21 +02:00
qeth.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
reset.h
resource.h
rwsem.h
s390_ext.h
scatterlist.h [S390] use generic scatterlist.h 2009-09-11 10:29:54 +02:00
schid.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
sclp.h
scsw.h [S390] cio: move scsw helper functions to header file 2009-09-11 10:29:36 +02:00
seccomp.h [S390] secure computing arch backend 2009-06-12 10:27:31 +02:00
sections.h
segment.h
sembuf.h
setup.h [S390] Improve address space mode selection. 2009-12-07 12:51:33 +01:00
sfp-machine.h
sfp-util.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
sigp.h
smp.h cpumask: remove arch_send_call_function_ipi 2009-09-24 09:34:47 +09:30
socket.h net: implement a SO_DOMAIN getsockoption 2009-08-05 13:02:57 -07:00
sockios.h
sparsemem.h
spinlock.h locking: Make inlining decision Kconfig based 2009-11-13 20:53:28 +01:00
spinlock_types.h
stat.h
statfs.h
string.h [S390] use compiler builtin versions of strlen/strcpy/strcat 2009-03-26 15:24:24 +01:00
suspend.h [S390] s390: hibernation support for s390 2009-06-16 10:31:22 +02:00
swab.h [S390] types: add/fix types.h include in header files 2009-01-09 12:15:06 +01:00
syscall.h [S390] ftrace: add system call tracer support 2009-06-12 10:27:39 +02:00
sysinfo.h [S390] Fix hypervisor detection for KVM 2009-03-26 15:24:09 +01:00
system.h [S390] Enable guest page hinting by default. 2009-09-11 10:29:54 +02:00
tape390.h
termbits.h
termios.h asm-generic: rename termios.h, signal.h and mman.h 2009-06-11 21:01:52 +02:00
thread_info.h tracing: Rename FTRACE_SYSCALLS for tracepoints 2009-08-26 00:17:35 +02:00
timer.h [S390] extend virtual timer interface by mod_virt_timer_periodic 2009-04-14 15:37:23 +02:00
timex.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-09-14 17:53:36 -07:00
tlb.h mm: Pass virtual address to [__]p{te,ud,md}_free_tlb() 2009-07-27 12:10:38 -07:00
tlbflush.h [S390] cpumask: use mm_cpumask() wrapper 2009-03-26 15:24:34 +01:00
topology.h cpumask: remove obsolete topology_core_siblings and topology_thread_siblings: s390 2009-09-24 09:34:42 +09:30
types.h asm-generic: introduce asm/bitsperlong.h 2009-06-11 21:02:14 +02:00
uaccess.h [S390] Use do_exception() in pagetable walk usercopy functions. 2009-12-07 12:51:34 +01:00
ucontext.h [S390] 64-bit register support for 31-bit processes 2009-10-06 10:35:10 +02:00
unaligned.h
unistd.h perf: Do the big rename: Performance Counters -> Performance Events 2009-09-21 14:28:04 +02:00
user.h
vdso.h [PATCH] fast vdso implementation for CLOCK_THREAD_CPUTIME_ID 2008-12-31 15:11:49 +01:00
vtoc.h [S390] dasd: add large volume support 2009-03-26 15:24:05 +01:00
xor.h
zcrypt.h