kernel-ark/include/asm-generic
Paul Mackerras bfe5d83419 [PATCH] Define __raw_get_cpu_var and use it
There are several instances of per_cpu(foo, raw_smp_processor_id()), which
is semantically equivalent to __get_cpu_var(foo) but without the warning
that smp_processor_id() can give if CONFIG_DEBUG_PREEMPT is enabled.  For
those architectures with optimized per-cpu implementations, namely ia64,
powerpc, s390, sparc64 and x86_64, per_cpu() turns into more and slower
code than __get_cpu_var(), so it would be preferable to use __get_cpu_var
on those platforms.

This defines a __raw_get_cpu_var(x) macro which turns into per_cpu(x,
raw_smp_processor_id()) on architectures that use the generic per-cpu
implementation, and turns into __get_cpu_var(x) on the architectures that
have an optimized per-cpu implementation.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Ingo Molnar <mingo@elte.hu>
Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-06-25 10:01:01 -07:00
..
bitops [PATCH] bitops: generic minix_{test,set,test_and_clear,test,find_first_zero}_bit() 2006-03-26 08:57:11 -08:00
4level-fixup.h [PATCH] mm: ptd_alloc inline and out 2005-10-29 21:40:40 -07:00
atomic.h [PATCH] Use atomic64_set for 64-bit case of atomic_long_set 2006-01-15 10:17:07 -08:00
bitops.h [PATCH] bitops: update include/asm-generic/bitops.h 2006-03-26 08:57:15 -08:00
bug.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
cputime.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
div64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma-mapping-broken.h [PATCH] gfp_t: dma-mapping (simple cases) 2005-10-28 08:16:49 -07:00
dma-mapping.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno-base.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
errno.h [PATCH] add EOWNERDEAD and ENOTRECOVERABLE version 2 2005-05-01 08:59:06 -07:00
fcntl.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
futex.h [PATCH] lightweight robust futexes updates 2006-03-27 08:44:49 -08:00
ide_iops.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctl.h [PATCH] Generic ioctl.h 2006-01-10 08:01:34 -08:00
iomap.h [PATCH] add Big Endian variants of ioread/iowrite 2005-04-16 15:25:54 -07:00
ipc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
local.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
memory_model.h [PATCH] squash duplicate page_to_pfn and pfn_to_page 2006-06-23 07:42:47 -07:00
mman.h [PATCH] add asm-generic/mman.h 2006-02-15 15:32:22 -08:00
mutex-dec.h [PATCH] mutex: some cleanups 2006-03-31 12:19:01 -08:00
mutex-null.h [PATCH] mutex subsystem, add asm-generic/mutex-[dec|xchg|null].h implementations 2006-01-09 15:59:17 -08:00
mutex-xchg.h [PATCH] mutex: some cleanups 2006-03-31 12:19:01 -08:00
page.h [PATCH] mm: consolidate get_order 2005-09-05 00:05:39 -07:00
pci-dma-compat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.h [PATCH] Make sparc64 use setup-res.c 2005-09-08 14:57:25 -07:00
percpu.h [PATCH] Define __raw_get_cpu_var and use it 2006-06-25 10:01:01 -07:00
pgtable-nopmd.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgtable-nopud.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgtable.h [SPARC64]: Fix D-cache corruption in mremap 2006-06-01 17:47:25 -07:00
resource.h [PATCH] nice and rt-prio rlimits 2005-05-01 08:59:00 -07:00
rtc.h Add some basic resume trace facilities 2006-06-24 14:44:01 -07:00
sections.h [PATCH] x86_64: Only use asm/sections.h to declare section symbols 2005-11-14 19:55:14 -08:00
siginfo.h [PATCH] consolidate SIGEV_PAD_SIZE 2005-05-01 08:59:08 -07:00
signal.h Add standard include guard to asm-generic/signal and use compiler.h 2006-04-27 06:57:23 +01:00
statfs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlb.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
topology.h [PATCH] x86/x86_64: pcibus_to_node 2005-06-23 09:45:08 -07:00
uaccess.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h [PATCH] __get_unaligned() gcc-4 fix 2006-03-08 14:14:00 -08:00
vmlinux.lds.h [PATCH] add EXPORT_SYMBOL_GPL_FUTURE() 2006-03-20 13:42:58 -08:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00