linux/include
Andi Kleen 53ee11ae0d [PATCH] Optimize PDA accesses slightly
Based on a idea by Jeremy Fitzhardinge:

Replace the volatiles and memory clobbers in the PDA access with
telling gcc about access to a proxy PDA structure that doesn't
actually exist. But the dummy accesses give a defined ordering for
read/write accesses.

Also add some memory barriers to the early GS initialization to
make sure no PDA access is moved before it.

Advantage is some .text savings (probably most from better
code for accessing "current"):

   text    data     bss     dec     hex filename
4845647 1223688  615864 6685199  66020f vmlinux
4837780 1223688  615864 6677332  65e354 vmlinux-pda

1.2% smaller code

Cc:  Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Andi Kleen <ak@suse.de>
2006-09-26 10:52:38 +02:00
..
acpi Pull acpi_os_allocate into test branch 2006-07-10 02:39:47 -04:00
asm-alpha [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-arm Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-09-24 22:05:59 +01:00
asm-arm26 Remove ARM26 header export. 2006-09-21 08:54:44 +01:00
asm-cris Clean up exported headers on CRIS 2006-09-21 09:33:55 +01:00
asm-frv [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-generic Merge branch 'master' into upstream 2006-09-24 01:52:47 -04:00
asm-h8300 Fix H8300 exported headers. 2006-09-21 08:51:43 +01:00
asm-i386 [PATCH] x86: Remove incorrect comment about ACPI e820 entries 2006-09-26 10:52:38 +02:00
asm-ia64 [PATCH] Move compiler check for modules to ia64 only 2006-09-26 10:52:37 +02:00
asm-m32r Fix 'make headers_check' on m32r 2006-09-21 08:41:35 +01:00
asm-m68k [PATCH] Fix 'make headers_check' on ia64 2006-09-19 07:59:59 -07:00
asm-m68knommu Fix m68knommu exported headers 2006-09-21 08:50:36 +01:00
asm-mips [PATCH] headers_check: fix userspace build of asm-mips/page.h 2006-09-13 07:32:16 -07:00
asm-parisc [PATCH] headers_check: Clean up asm-parisc/page.h for user headers 2006-09-19 07:59:59 -07:00
asm-powerpc [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-ppc [PATCH] #elif that should've been #elif defined 2006-09-23 11:34:43 -07:00
asm-s390 [S390] Unexport <asm/z90crypt.h>, export <asm/zcrypt.h> in its place. 2006-09-24 22:07:25 +01:00
asm-sh Fix 'make headers_check' on sh 2006-09-21 08:36:50 +01:00
asm-sh64 Fix 'make headers_check' on sh64 2006-09-21 08:37:10 +01:00
asm-sparc [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-sparc64 [libata] No need for all those arch libata-portmap.h headers 2006-09-25 15:33:09 -04:00
asm-um [PATCH] i386: Redo semaphore and rwlock assembly helpers 2006-09-26 10:52:29 +02:00
asm-v850 Fix v850 exported headers 2006-09-21 09:05:25 +01:00
asm-x86_64 [PATCH] Optimize PDA accesses slightly 2006-09-26 10:52:38 +02:00
asm-xtensa [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
crypto [CRYPTO] digest: Added user API for new hash type 2006-09-21 11:46:17 +10:00
keys
linux [PATCH] Move compiler check for modules to ia64 only 2006-09-26 10:52:37 +02:00
math-emu
media V4L/DVB (4605): Fixes an issue with V4L1 and make headers-install 2006-09-10 13:45:55 -03:00
mtd Merge git://git.infradead.org/~dwmw2/hdroneline 2006-09-22 12:56:22 -07:00
net [NetLabel]: rework the Netlink attribute handling (part 1) 2006-09-25 15:56:09 -07:00
pcmcia
rdma IB/sa: fix ib_sa_selector names 2006-09-22 15:22:55 -07:00
rxrpc
scsi [PATCH] SCSI gfp_t annotations 2006-09-24 20:07:49 -07:00
sound [ALSA] ak4xxx - Remove bogus IPGA controls 2006-09-23 10:46:55 +02:00
video [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00
Kbuild [HEADERS] One line per header in Kbuild files to reduce conflicts 2006-09-19 12:43:58 +01:00