Ingo Molnar
39c715b717
[PATCH] smp_processor_id() cleanup
...
This patch implements a number of smp_processor_id() cleanup ideas that
Arjan van de Ven and I came up with.
The previous __smp_processor_id/_smp_processor_id/smp_processor_id API
spaghetti was hard to follow both on the implementational and on the
usage side.
Some of the complexity arose from picking wrong names, some of the
complexity comes from the fact that not all architectures defined
__smp_processor_id.
In the new code, there are two externally visible symbols:
- smp_processor_id(): debug variant.
- raw_smp_processor_id(): nondebug variant. Replaces all existing
uses of _smp_processor_id() and __smp_processor_id(). Defined
by every SMP architecture in include/asm-*/smp.h.
There is one new internal symbol, dependent on DEBUG_PREEMPT:
- debug_smp_processor_id(): internal debug variant, mapped to
smp_processor_id().
Also, i moved debug_smp_processor_id() from lib/kernel_lock.c into a new
lib/smp_processor_id.c file. All related comments got updated and/or
clarified.
I have build/boot tested the following 8 .config combinations on x86:
{SMP,UP} x {PREEMPT,!PREEMPT} x {DEBUG_PREEMPT,!DEBUG_PREEMPT}
I have also build/boot tested x64 on UP/PREEMPT/DEBUG_PREEMPT. (Other
architectures are untested, but should work just fine.)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Arjan van de Ven <arjan@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-06-21 18:46:13 -07:00
..
8xx_immap.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
8253pit.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
a.out.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
agp.h
[PATCH] AGP fix for Xen VMM
2005-06-07 12:35:43 -07:00
amigahw.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
amigaints.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
amigappc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
amigayle.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
amipcmcia.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ans-lcd.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
atomic.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
backlight.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
bitops.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
bootinfo.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
bootx.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
bseip.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
btext.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
bug.h
[PATCH] remove all kernel BUGs
2005-05-01 08:59:01 -07:00
bugs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
byteorder.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cache.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cacheflush.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
checksum.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
commproc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cpm2.h
[PATCH] ppc32: Support for 82xx PQII on-chip PCI bridge
2005-05-28 16:46:15 -07:00
cputable.h
[PATCH] ppc32: Support 36-bit physical addressing on e500
2005-04-16 15:24:22 -07:00
cputime.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
current.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dbdma.h
[PATCH] ppc64: very basic desktop g5 sound support
2005-04-16 15:24:32 -07:00
delay.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.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dma.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
elf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
errno.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
fcntl.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
floppy.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
fsl_ocp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
gg2.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
gt64260.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
gt64260_defs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hardirq.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
harrier.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hawk.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hawk_defs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hdreg.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
heathrow.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
highmem.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hw_irq.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
hydra.h
[PATCH] ppc trivial iomem annotations: chrp
2005-04-24 14:58:08 -07:00
i8259.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ibm4xx.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ibm44x.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ibm403.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ibm405.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ibm_ocp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ibm_ocp_pci.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ide.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
immap_85xx.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
immap_cpm2.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
io.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ioctl.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ioctls.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipcbuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipic.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
irq.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
keylargo.h
[PATCH] ppc64: very basic desktop g5 sound support
2005-04-16 15:24:32 -07:00
kgdb.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
kmap_types.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
linkage.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
local.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
m48t35.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
m8260_pci.h
[PATCH] ppc32: Support for 82xx PQII on-chip PCI bridge
2005-05-28 16:46:15 -07:00
machdep.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
macio.h
[PATCH] u32 vs. pm_message_t in ppc and radeon
2005-04-16 15:25:34 -07:00
mc146818rtc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
md.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mediabay.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mk48t59.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mman.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mmu.h
[PATCH] ppc32: make usage of CONFIG_PTE_64BIT & CONFIG_PHYS_64BIT consistent
2005-04-16 15:24:21 -07:00
mmu_context.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
module.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mpc8xx.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mpc10x.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mpc52xx.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mpc52xx_psc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mpc83xx.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mpc85xx.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mpc8260.h
[PATCH] ppc32: Support for 82xx PQII on-chip PCI bridge
2005-05-28 16:46:15 -07:00
mpc8260_pci9.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
msgbuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mv64x60.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
mv64x60_defs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
namei.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
nvram.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ocp.h
[PATCH] Driver Core: include: update device attribute callbacks
2005-06-20 15:15:35 -07:00
ocp_ids.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
of_device.h
[PATCH] u32 vs. pm_message_t in ppc and radeon
2005-04-16 15:25:34 -07:00
ohare.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
open_pic.h
[PATCH] ppc32: Fix cpufreq problems
2005-04-16 15:24:18 -07:00
page.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
param.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
parport.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pc_serial.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pci-bridge.h
[PATCH] ppc iomem annotations: ->io_base_virt
2005-04-25 07:55:57 -07:00
pci.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
percpu.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
perfmon.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pgalloc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pgtable.h
[PATCH] freepgt: arch FIRST_USER_ADDRESS 0
2005-04-19 13:29:23 -07:00
pmac_feature.h
[PATCH] ppc32: Fix might_sleep() warning with clock spreading
2005-05-02 08:15:22 -07:00
pmac_low_i2c.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pnp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
poll.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
posix_types.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ppc4xx_dma.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ppc4xx_pic.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ppc_asm.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ppc_sys.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ppcboot.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
prep_nvram.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
processor.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
prom.h
[PATCH] ppc32: fix compilation error in include/asm/prom.h
2005-04-16 15:24:28 -07:00
ptrace.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
raven.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
reg.h
[PATCH] ppc32: Fix cpufreq problems
2005-04-16 15:24:18 -07:00
reg_booke.h
[PATCH] ppc32: refactor FPU exception handling
2005-05-01 08:58:40 -07:00
residual.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
resource.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rheap.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rtc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rwsem.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
scatterlist.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
seccomp.h
Add missing asm-ppc/seccomp.h. Must learn to use git properly.
2005-05-11 11:36:21 +01:00
sections.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
segment.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
semaphore.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sembuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
serial.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
setup.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
shmbuf.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
shmparam.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sigcontext.h
[PATCH] ppc32: add <linux/compiler.h> to <asm/sigcontext.h>
2005-06-06 17:02:02 -07:00
siginfo.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
signal.h
[PATCH] asm/signal.h unification
2005-05-04 07:33:15 -07:00
smp.h
[PATCH] smp_processor_id() cleanup
2005-06-21 18:46:13 -07:00
socket.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sockios.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
spinlock.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
stat.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
statfs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
string.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
suspend.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
system.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
termbits.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
thread_info.h
Add CONFIG_AUDITSC and CONFIG_SECCOMP support for ppc32
2005-05-08 15:56:09 +01:00
time.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
timex.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
tlb.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
tlbflush.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
todc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
topology.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
traps.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
types.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
uaccess.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ucontext.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
unaligned.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
uninorth.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
unistd.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
user.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
vga.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
xmon.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
xor.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
xparameters.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
zorro.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00