linux/include
Ralf Baechle 4b3e975e4a [MIPS] Fix scheduling latency issue on 24K, 34K and 74K cores
The idle loop goes to sleep using the WAIT instruction if !need_resched().
This has is suffering from from a race condition that if if just after
need_resched has returned 0 an interrupt might set TIF_NEED_RESCHED but
we've just completed the test so go to sleep anyway.  This would be
trivial to fix by just disabling interrupts during that sequence as in:

        local_irq_disable();
        if (!need_resched())
                __asm__("wait");
        local_irq_enable();

but the processor architecture leaves it undefined if a processor calling
WAIT with interrupts disabled will ever restart its pipeline and indeed
some processors have made use of the freedom provided by the architecture
definition.  This has been resolved and the Config7.WII bit indicates that
the use of WAIT is safe on 24K, 24KE and 34K cores.  It also is safe on
74K starting revision 2.1.0 so enable the use of WAIT with interrupts
disabled for 74K based on a c0_prid of at least that.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2007-07-06 16:17:11 +01:00
..
acpi
asm-alpha
asm-arm Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM 2007-06-28 11:38:30 -07:00
asm-arm26
asm-avr32 [AVR32] Define ARCH_KMALLOC_MINALIGN to L1_CACHE_BYTES 2007-06-14 18:30:50 +02:00
asm-blackfin Blackfin arch: remove zero-sized include/asm-blackfin/macros.h 2007-07-03 08:25:50 +08:00
asm-cris
asm-frv frv: fix fallout from "remove sched.h from mm.h" patch 2007-07-01 12:29:44 -07:00
asm-generic Rework ptep_set_access_flags and fix sun4c 2007-06-16 13:16:16 -07:00
asm-h8300
asm-i386 fix nmi_watchdog=2 bootup hang 2007-06-25 14:54:52 -07:00
asm-ia64 [IA64] change sh_change_coherence oemcall to use nolock 2007-06-26 13:33:58 -07:00
asm-m32r
asm-m68k
asm-m68knommu
asm-mips [MIPS] Fix scheduling latency issue on 24K, 34K and 74K cores 2007-07-06 16:17:11 +01:00
asm-parisc [PARISC] Fix unwinder on 64-bit kernels 2007-06-21 17:46:21 -04:00
asm-powerpc Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM 2007-06-28 11:38:30 -07:00
asm-ppc Rework ptep_set_access_flags and fix sun4c 2007-06-16 13:16:16 -07:00
asm-s390 [S390] Move psw_set_key. 2007-06-19 13:10:20 +02:00
asm-sh
asm-sh64
asm-sparc Rework ptep_set_access_flags and fix sun4c 2007-06-16 13:16:16 -07:00
asm-sparc64 [SPARC64]: Add linux/pagemap.h to asm/tlb.h 2007-06-28 21:25:31 -07:00
asm-um uml: add asm/paravirt.h 2007-06-24 08:59:11 -07:00
asm-v850
asm-x86_64 x86_64: Fix eventd/timerfd syscalls 2007-06-20 14:27:25 -07:00
asm-xtensa
crypto
keys
linux PM: introduce set_target method in pm_ops 2007-07-01 12:29:44 -07:00
math-emu
media
mtd
net [SCTP] Flag a pmtu change request 2007-06-13 20:44:42 +00:00
pcmcia
rdma
rxrpc
scsi
sound
video
Kbuild