kernel_optimize_test/include/asm-powerpc
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
..
iseries Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
8253pit.h
a.out.h
abs_addr.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
agp.h
asm-compat.h
atomic.h
auxvec.h
backlight.h [PATCH] Rewritten backlight infrastructure for portable Apple computers 2006-06-25 10:00:59 -07:00
bitops.h [PATCH] remove powerpc bitops in favor of existing generic bitops 2006-05-24 16:08:58 +10:00
bootx.h
btext.h
bug.h [PATCH] git-powerpc: WARN was a dumb idea 2006-03-28 20:48:54 +11:00
bugs.h
byteorder.h
cache.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
cacheflush.h
checksum.h
compat.h
cputable.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
cputime.h
current.h
dbdma.h
delay.h [POWERPC] Fix mdelay badness on shared processor partitions 2006-06-21 15:01:33 +10:00
div64.h
dma-mapping.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
dma.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
eeh_event.h [PATCH] powerpc/pseries: clear PCI failure counter if no new failures 2006-04-22 18:46:13 +10:00
eeh.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
elf.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
emergency-restart.h
errno.h
fcntl.h
firmware.h [PATCH] powerpc: Rename and export ppc64_firmware_features 2006-03-28 16:45:20 +11:00
floppy.h [PATCH] random: remove SA_SAMPLE_RANDOM from floppy driver 2006-06-25 10:01:00 -07:00
futex.h [PATCH] lightweight robust futexes updates 2006-03-27 08:44:49 -08:00
grackle.h
hardirq.h
heathrow.h
hvcall.h [POWERPC] check firmware state before suspending 2006-06-15 19:31:27 +10:00
hvconsole.h [PATCH] powerpc: hvc_console updates 2006-03-28 16:45:26 +11:00
hvcserver.h
hw_irq.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
i8259.h
ibmebus.h
ide.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
immap_86xx.h [POWERPC] Add 8641 Register space and IRQ definitions. 2006-06-21 15:01:28 +10:00
io.h Merge branch 'merge' 2006-04-29 16:15:57 +10:00
ioctl.h
ioctls.h
iommu.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
ipc.h
ipcbuf.h
ipic.h
irq.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
kdebug.h [PATCH] Notifier chain update: API changes 2006-03-27 08:44:50 -08:00
kdump.h [PATCH] powerpc: Kdump header cleanup 2006-05-19 15:02:16 +10:00
kexec.h [PATCH] powerpc: Move crashkernel= handling into the kernel. 2006-05-19 15:02:18 +10:00
keylargo.h
kmap_types.h
kprobes.h
linkage.h
lmb.h [PATCH] powerpc: Remove calculation of io hole 2006-03-22 15:04:30 +11:00
local.h
lppaca.h
machdep.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
macio.h
mc146818rtc.h
mediabay.h
mman.h
mmu_context.h powerpc: Remove unused paca->pgdir field 2006-06-12 18:38:21 +10:00
mmu.h powerpc: Use 64k pages without needing cache-inhibited large pages 2006-06-15 10:45:18 +10:00
mmzone.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
module.h
mpc86xx.h [POWERPC] Add 8641 Register space and IRQ definitions. 2006-06-21 15:01:28 +10:00
mpic.h [POWERPC] mpic: add support for serial mode interrupts 2006-06-21 15:01:32 +10:00
msgbuf.h
mutex.h
namei.h
nvram.h
of_device.h
ohare.h
oprofile_impl.h [PATCH] powerpc: Remove oprofile spinlock backtrace code 2006-03-29 13:44:16 +11:00
paca.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
page_32.h
page_64.h [PATCH] powerpc: Fix pagetable bloat for hugepages 2006-04-28 15:02:51 +10:00
page.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
param.h
parport.h
pci-bridge.h [POWERPC] pcibus_to_node fixes 2006-06-15 19:31:26 +10:00
pci.h
percpu.h [PATCH] Define __raw_get_cpu_var and use it 2006-06-25 10:01:01 -07:00
pgalloc.h [PATCH] powerpc: Fix pagetable bloat for hugepages 2006-04-28 15:02:51 +10:00
pgtable-4k.h powerpc: Use 64k pages without needing cache-inhibited large pages 2006-06-15 10:45:18 +10:00
pgtable-64k.h powerpc: Use 64k pages without needing cache-inhibited large pages 2006-06-15 10:45:18 +10:00
pgtable.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
pmac_feature.h [PATCH] powerpc: Kill _machine and hard-coded platform numbers 2006-03-28 23:15:54 +11:00
pmac_low_i2c.h
pmac_pfunc.h
pmc.h
poll.h [PATCH] POLLRDHUP/EPOLLRDHUP handling for half-closed devices notifications 2006-03-25 08:22:56 -08:00
posix_types.h
ppc_asm.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
ppc-pci.h
processor.h [POWERPC] disable floating point exceptions for init 2006-06-21 15:01:33 +10:00
prom.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
pSeries_reconfig.h
ptrace.h [PATCH] powerpc: enable PPC_PTRACE_[GS]ETREGS on ppc32 2006-06-09 21:20:51 +10:00
reg_8xx.h
reg.h [POWERPC] cell: add RAS support 2006-06-21 15:01:29 +10:00
resource.h
rtas.h [POWERPC] check firmware state before suspending 2006-06-15 19:31:27 +10:00
rtc.h
rwsem.h
scatterlist.h
seccomp.h
sections.h
semaphore.h
sembuf.h
serial.h
setup.h
shmbuf.h
shmparam.h
sigcontext.h
siginfo.h
signal.h
smp.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
smu.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
socket.h
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h
spu_csa.h [POWERPC] spufs: one more fix for 64k pages 2006-06-21 15:01:32 +10:00
spu_priv1.h [POWERPC] spufs: fix spu irq affinity setting 2006-06-21 15:01:31 +10:00
spu.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
sstep.h
stat.h
statfs.h
string.h powerpc: fix strncasecmp prototype 2006-03-25 09:41:40 -08:00
synch.h
syscalls.h [PATCH] powerpc: declare arch syscalls in <asm/syscalls.h> 2006-03-27 14:48:22 +11:00
systbl.h [POWERPC] Unify ppc syscall tables 2006-06-21 15:01:32 +10:00
system.h [NET]: Allow skb headroom to be overridden 2006-03-31 02:27:06 -08:00
tce.h [PATCH] powerpc: kill union tce_entry 2006-04-29 18:07:54 +10:00
termbits.h [PATCH] Add CMSPAR to termbits.h for powerpc and alpha 2006-05-26 11:55:46 -07:00
termios.h
thread_info.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
time.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
timex.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
tlb.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
tlbflush.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
topology.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
types.h Don't include linux/config.h from anywhere else in include/ 2006-04-26 12:56:16 +01:00
uaccess.h powerpc: Fix incorrect might_sleep in __get_user/__put_user on kernel addresses 2006-05-03 23:06:46 +10:00
ucontext.h
udbg.h [PATCH] powerpc: udbg_printf() formatting attribute 2006-05-19 15:02:19 +10:00
unaligned.h
uninorth.h
unistd.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 2006-05-24 09:22:21 +01:00
user.h
vdso_datapage.h [PATCH] powerpc: Kill _machine and hard-coded platform numbers 2006-03-28 23:15:54 +11:00
vdso.h
vga.h [PATCH] vgacon: make VGA_MAP_MEM take size, remove extra use 2006-06-22 15:05:58 -07:00
vio.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2006-06-22 22:11:30 -07:00
xmon.h
xor.h