kernel-ark/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
binfmt_elfo32.c
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
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
i8259.c [MIPS] Eleminate interrupt migration helper use. 2006-07-13 21:25:58 +01:00
init_task.c
irix5sys.S
irixelf.c [PATCH] FDPIC: Move roundup() into linux/kernel.h 2006-07-10 13:24:22 -07:00
irixinv.c
irixioctl.c
irixsig.c [MIPS] Avoid double signal restarting. 2006-09-27 13:37:33 +01:00
irq_cpu.c [MIPS] Eleminate interrupt migration helper use. 2006-07-13 21:25:58 +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
kspd.c
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_ksyms.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
mips-mt.c [MIPS] MIPS MT: Fix build error. 2006-07-13 21:26:06 +01: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
ptrace32.c [MIPS] Unify mips_fpu_soft_struct and mips_fpu_hard_structs. 2006-06-19 17:39:18 +01:00
ptrace.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02: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
r2300_switch.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
r6000_fpu.S
reset.c
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
setup.c [PATCH] tty: Remove include of screen_info.h from tty.h 2006-07-10 13:24:16 -07:00
signal32.c [MIPS] Avoid double signal restarting. 2006-09-27 13:37:33 +01:00
signal_n32.c
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
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
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