Revision 3ac805d2afd3fa4a07cb5bcf352fd7fa83f28935 authored by Ingo Molnar on 03 July 2009, 10:51:19 UTC, committed by Ingo Molnar on 03 July 2009, 11:26:43 UTC
cmpxchg8b is a huge instruction in terms of register footprint,
we almost never want to inline it, not even within the same
code module.

GCC 4.3 still messes up for two functions, under-judging the
true cost of this instruction - so annotate two key functions
to reduce the bloat:

arch/x86/lib/atomic64_32.o:

   text	   data	    bss	    dec	    hex	filename
   1763	      0	      0	   1763	    6e3	atomic64_32.o.before
    435	      0	      0	    435	    1b3	atomic64_32.o.after

Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Arnd Bergmann <arnd@arndb.de>
LKML-Reference: <alpine.LFD.2.01.0907021653030.3210@localhost.localdomain>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
1 parent 824975e
History
File Mode Size
raid6test
.gitignore -rw-r--r-- 51 bytes
Kconfig -rw-r--r-- 9.7 KB
Makefile -rw-r--r-- 3.9 KB
bitmap.c -rw-r--r-- 44.1 KB
bitmap.h -rw-r--r-- 10.3 KB
dm-bio-record.h -rw-r--r-- 1.6 KB
dm-crypt.c -rw-r--r-- 31.5 KB
dm-delay.c -rw-r--r-- 8.4 KB
dm-exception-store.c -rw-r--r-- 6.6 KB
dm-exception-store.h -rw-r--r-- 4.5 KB
dm-io.c -rw-r--r-- 11.1 KB
dm-ioctl.c -rw-r--r-- 32.4 KB
dm-kcopyd.c -rw-r--r-- 13.9 KB
dm-linear.c -rw-r--r-- 3.5 KB
dm-log-userspace-base.c -rw-r--r-- 16.1 KB
dm-log-userspace-transfer.c -rw-r--r-- 6.8 KB
dm-log-userspace-transfer.h -rw-r--r-- 452 bytes
dm-log.c -rw-r--r-- 18.9 KB
dm-mpath.c -rw-r--r-- 36.7 KB
dm-mpath.h -rw-r--r-- 415 bytes
dm-path-selector.c -rw-r--r-- 2.4 KB
dm-path-selector.h -rw-r--r-- 2.5 KB
dm-queue-length.c -rw-r--r-- 5.4 KB
dm-raid1.c -rw-r--r-- 31.4 KB
dm-region-hash.c -rw-r--r-- 17.6 KB
dm-round-robin.c -rw-r--r-- 4.6 KB
dm-service-time.c -rw-r--r-- 8.2 KB
dm-snap-persistent.c -rw-r--r-- 17.1 KB
dm-snap-transient.c -rw-r--r-- 3.6 KB
dm-snap.c -rw-r--r-- 33.1 KB
dm-stripe.c -rw-r--r-- 7.8 KB
dm-sysfs.c -rw-r--r-- 2.2 KB
dm-table.c -rw-r--r-- 27.2 KB
dm-target.c -rw-r--r-- 2.5 KB
dm-uevent.c -rw-r--r-- 5.4 KB
dm-uevent.h -rw-r--r-- 1.6 KB
dm-zero.c -rw-r--r-- 1.5 KB
dm.c -rw-r--r-- 59.3 KB
dm.h -rw-r--r-- 3.8 KB
faulty.c -rw-r--r-- 8.7 KB
linear.c -rw-r--r-- 9.2 KB
linear.h -rw-r--r-- 301 bytes
md.c -rw-r--r-- 176.6 KB
md.h -rw-r--r-- 13.9 KB
mktables.c -rw-r--r-- 2.9 KB
multipath.c -rw-r--r-- 14.6 KB
multipath.h -rw-r--r-- 692 bytes
raid0.c -rw-r--r-- 15.1 KB
raid0.h -rw-r--r-- 455 bytes
raid1.c -rw-r--r-- 60.3 KB
raid1.h -rw-r--r-- 3.2 KB
raid10.c -rw-r--r-- 61.4 KB
raid10.h -rw-r--r-- 2.8 KB
raid5.c -rw-r--r-- 149.4 KB
raid5.h -rw-r--r-- 18.6 KB
raid6algos.c -rw-r--r-- 4.3 KB
raid6altivec.uc -rw-r--r-- 3.3 KB
raid6int.uc -rw-r--r-- 2.7 KB
raid6mmx.c -rw-r--r-- 3.8 KB
raid6recov.c -rw-r--r-- 3.5 KB
raid6sse1.c -rw-r--r-- 4.9 KB
raid6sse2.c -rw-r--r-- 8.3 KB
raid6x86.h -rw-r--r-- 1.6 KB
unroll.pl -rw-r--r-- 492 bytes

back to top