linux/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
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
div64.h
dma-mapping-broken.h
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
errno-base.h
errno.h
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
ioctl.h [PATCH] Generic ioctl.h 2006-01-10 08:01:34 -08:00
iomap.h
ipc.h
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
pci-dma-compat.h
pci.h
percpu.h [PATCH] Define __raw_get_cpu_var and use it 2006-06-25 10:01:01 -07:00
pgtable-nopmd.h
pgtable-nopud.h
pgtable.h [SPARC64]: Fix D-cache corruption in mremap 2006-06-01 17:47:25 -07:00
resource.h
rtc.h Add some basic resume trace facilities 2006-06-24 14:44:01 -07:00
sections.h
siginfo.h
signal.h Add standard include guard to asm-generic/signal and use compiler.h 2006-04-27 06:57:23 +01:00
statfs.h
termios.h
tlb.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
topology.h
uaccess.h
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