kernel-ark/include/asm-x86_64
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
..
8253pit.h
a.out.h
acpi.h
agp.h
apic.h
apicdef.h
atomic.h
auxvec.h
bitops.h
boot.h
bootsetup.h
bug.h
bugs.h
byteorder.h
cache.h
cacheflush.h
calling.h
checksum.h
compat.h
cpu.h
cpufeature.h
cputime.h
current.h
debugreg.h
delay.h
desc.h
div64.h
dma-mapping.h
dma.h
dmi.h
dwarf2.h
e820.h
edac.h
elf.h
emergency-restart.h
errno.h
fcntl.h
fixmap.h
floppy.h
fpu32.h
futex.h
gart-mapping.h
genapic.h
hardirq.h
hpet.h
hw_irq.h
i387.h
ia32_unistd.h
ia32.h
ide.h
idle.h
io_apic.h
io.h
ioctl.h
ioctls.h
ipcbuf.h
ipi.h
irq.h
kdebug.h
kexec.h
kmap_types.h
kprobes.h
ldt.h
linkage.h
local.h
mach_apic.h
mc146818rtc.h
mce.h
mman.h
mmsegment.h
mmu_context.h
mmu.h
mmx.h
mmzone.h
module.h
mpspec.h
msgbuf.h
msi.h
msr.h
mtrr.h
mutex.h
namei.h
nmi.h
node.h
numa.h
page.h
param.h
parport.h
pci-direct.h
pci.h
pda.h
percpu.h [PATCH] Define __raw_get_cpu_var and use it 2006-06-25 10:01:01 -07:00
pgalloc.h
pgtable.h
poll.h
posix_types.h
prctl.h
processor.h
proto.h
ptrace.h
resource.h
rtc.h
rwlock.h
scatterlist.h
seccomp.h
sections.h
segment.h
semaphore.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h
siginfo.h
signal.h
smp.h
socket.h
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h
stat.h
statfs.h
string.h
suspend.h
swiotlb.h
system.h
termbits.h
termios.h
thread_info.h
timex.h
tlb.h
tlbflush.h
topology.h
types.h
uaccess.h
ucontext.h
unaligned.h
unistd.h
user32.h
user.h
vga.h
vsyscall32.h
vsyscall.h
xor.h