linux/arch/mips/kernel
Atsushi Nemoto 60a6c3777e [MIPS] Reduce race between cpu_wait() and need_resched() checking
If a thread became runnable between need_resched() and the WAIT
instruction, switching to the thread will delay until a next interrupt.
Some CPUs can execute the WAIT instruction with interrupt disabled, so
we can get rid of this race on them (at least UP case).

Original Patch by Atsushi with fixing up for MIPS Technology's cores by
Ralf based on feedback from the RTL designers.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2006-09-27 13:37:40 +01:00
..
apm.c [MIPS] Don't include obsolete <linux/config.h>. 2006-07-13 21:25:58 +01:00
asm-offsets.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
binfmt_elfn32.c [MIPS] jiffies_to_compat_timeval fix 2006-02-21 16:58:23 +00:00
binfmt_elfo32.c [MIPS] jiffies_to_compat_timeval fix 2006-02-21 16:58:23 +00:00
branch.c [MIPS] Unify mips_fpu_soft_struct and mips_fpu_hard_structs. 2006-06-19 17:39:18 +01:00
cpu-bugs64.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
cpu-probe.c [MIPS] Reduce race between cpu_wait() and need_resched() checking 2006-09-27 13:37:40 +01:00
dma-no-isa.c Dummy ISA DMA functions for systems that don't have ISA but share 2005-10-29 19:30:17 +01:00
entry.S [MIPS] TRACE_IRQFLAGS_SUPPORT support. 2006-07-13 21:26:09 +01:00
gdb-low.S [MIPS] TRACE_IRQFLAGS_SUPPORT support. 2006-07-13 21:26:09 +01:00
gdb-stub.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
genex.S [MIPS] TRACE_IRQFLAGS_SUPPORT support. 2006-07-13 21:26:09 +01:00
head.S [MIPS] TRACE_IRQFLAGS_SUPPORT support. 2006-07-13 21:26:09 +01:00
i8253.c Input: pcspkr - separate device and driver registration 2006-03-14 00:11:50 -05:00
i8259.c [MIPS] Eleminate interrupt migration helper use. 2006-07-13 21:25:58 +01:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irix5sys.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irixelf.c [PATCH] FDPIC: Move roundup() into linux/kernel.h 2006-07-10 13:24:22 -07:00
irixinv.c Sparseify MIPS. 2005-10-29 19:30:50 +01:00
irixioctl.c Reformatting, remove debugging code. 2005-10-29 19:30:57 +01:00
irixsig.c [MIPS] Avoid double signal restarting. 2006-09-27 13:37:33 +01:00
irq-msc01.c [MIPS] Eleminate interrupt migration helper use. 2006-07-13 21:25:58 +01:00
irq-mv6434x.c [MIPS] Eleminate interrupt migration helper use. 2006-07-13 21:25:58 +01:00
irq-rm7000.c [MIPS] Eleminate interrupt migration helper use. 2006-07-13 21:25:58 +01:00
irq-rm9000.c [MIPS] Eleminate interrupt migration helper use. 2006-07-13 21:25:58 +01:00
irq.c [MIPS] Eleminate interrupt migration helper use. 2006-07-13 21:25:58 +01:00
irq_cpu.c [MIPS] Eleminate interrupt migration helper use. 2006-07-13 21:25:58 +01:00
kspd.c [MIPS] kpsd and other AP/SP improvements. 2006-04-19 04:14:27 +02:00
linux32.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
Makefile [MIPS] APM emu support 2006-06-19 17:39:22 +01:00
mips-mt.c [MIPS] MIPS MT: Fix build error. 2006-07-13 21:26:06 +01:00
mips_ksyms.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
module.c [MIPS] Ignore unresolved weak symbols in modules. 2006-06-06 00:15:10 +01:00
proc.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
process.c [MIPS] Improve unwind_stack() 2006-09-27 13:37:29 +01:00
ptrace.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ptrace32.c [MIPS] Unify mips_fpu_soft_struct and mips_fpu_hard_structs. 2006-06-19 17:39:18 +01:00
r4k_fpu.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
r4k_switch.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
r2300_fpu.S kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
r2300_switch.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
r6000_fpu.S kbuild: mips use generic asm-offsets.h support 2005-09-09 22:32:31 +02:00
reset.c [MIPS] Rename _machine_power_off to pm_power_off so the kernel builds again. 2006-02-07 13:30:22 +00:00
rtlx.c [PATCH] irq-flags: MIPS: Use the new IRQF_ constants 2006-07-02 13:58:47 -07:00
scall32-o32.S [MIPS] Wire up set_robust_list(2) and get_robust_list(2) 2006-09-27 13:37:40 +01:00
scall64-64.S [MIPS] Wire up set_robust_list(2) and get_robust_list(2) 2006-09-27 13:37:40 +01:00
scall64-n32.S [MIPS] Wire up set_robust_list(2) and get_robust_list(2) 2006-09-27 13:37:40 +01:00
scall64-o32.S [MIPS] Wire up set_robust_list(2) and get_robust_list(2) 2006-09-27 13:37:40 +01:00
semaphore.c Always use ".set mips3" rather than select between "mips2" or "mips3" 2005-10-29 19:31:31 +01:00
setup.c [PATCH] tty: Remove include of screen_info.h from tty.h 2006-07-10 13:24:16 -07:00
signal-common.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
signal.c [MIPS] Avoid double signal restarting. 2006-09-27 13:37:33 +01:00
signal32.c [MIPS] Avoid double signal restarting. 2006-09-27 13:37:33 +01:00
signal_n32.c [MIPS] fix wrong __user usage in _sysn32_rt_sigsuspend 2006-03-21 13:27:46 +00:00
smp-mt.c [MIPS] MT: Initialise all writable bits in Cause register to zero. 2006-09-27 13:37:33 +01:00
smp.c [MIPS] Avoid interprocessor function calls. 2006-07-13 21:25:56 +01:00
smtc-asm.S [MIPS] SMTC Build fix. 2006-09-27 13:37:36 +01:00
smtc-proc.c [MIPS] MT: Improved multithreading support. 2006-04-19 04:14:28 +02:00
smtc.c [MIPS] Replace board_timer_setup function pointer by plat_timer_setup. 2006-07-13 21:26:17 +01:00
syscall.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sysirix.c [PATCH] kernel/sys.c: cleanups 2006-06-25 10:01:06 -07:00
time.c [MIPS] Replace board_timer_setup function pointer by plat_timer_setup. 2006-07-13 21:26:17 +01:00
traps.c [MIPS] Make prepare_frametrace() not clobber v0 2006-09-27 13:37:37 +01:00
unaligned.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
vmlinux.lds.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
vpe.c [MIPS] MT: Fix setting of XTC. 2006-09-27 13:37:36 +01:00