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
Pull osi-now into release branch
2007-06-02 01:02:09 -04:00
asm-alpha
ALPHA: misc fixes
2007-06-01 08:18:29 -07:00
asm-arm
Introduce fixed sys_sync_file_range2() syscall, implement on PowerPC and ARM
2007-06-28 11:38:30 -07:00
asm-arm26
[ARM] use __used attribute
2007-05-30 13:15:06 +01:00
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
Consolidate asm/poll.h
2007-05-11 08:29:34 -07:00
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
h8300 trival patches
2007-06-01 08:18:29 -07:00
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
m32r: __xchg() should be always_inline
2007-05-15 18:56:37 -07:00
asm-m68k
m68k: discontinuous memory support
2007-05-31 07:58:14 -07:00
asm-m68knommu
Remove tas()
2007-05-08 11:15:20 -07:00
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
sh: Fix se73180 platform device registration.
2007-06-04 11:07:23 +09:00
asm-sh64
sh64: generic quicklist support.
2007-05-14 09:55:35 +09:00
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
Consolidate asm/poll.h
2007-05-11 08:29:34 -07:00
asm-x86_64
x86_64: Fix eventd/timerfd syscalls
2007-06-20 14:27:25 -07:00
asm-xtensa
Xtensa: use asm-generic/fcntl.h
2007-05-31 20:18:25 -07:00
crypto
[CRYPTO] cryptd: Add software async crypto daemon
2007-05-02 14:38:32 +10:00
keys
[AF_RXRPC]: Provide secure RxRPC sockets for use by userspace and kernel both
2007-04-26 15:48:28 -07:00
linux
PM: introduce set_target method in pm_ops
2007-07-01 12:29:44 -07:00
math-emu
Delete unused header file math-emu/extended.h
2007-05-08 11:15:05 -07:00
media
V4L/DVB (5592): DMA: Correctly free resources on error, sync PCI streamed data
2007-05-09 10:12:42 -03:00
mtd
UBI: Unsorted Block Images
2007-04-27 14:23:33 +03:00
net
[SCTP] Flag a pmtu change request
2007-06-13 20:44:42 +00:00
pcmcia
add new_id to PCMCIA drivers
2007-05-07 12:12:50 -07:00
rdma
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
2007-05-21 16:19:32 -07:00
rxrpc
[AF_RXRPC]: Delete the old RxRPC code.
2007-04-26 15:55:48 -07:00
scsi
[SCSI] sas_scsi_host: Convert to use the kthread API
2007-05-06 09:33:17 -05:00
sound
[ALSA] version 1.0.14
2007-05-31 11:03:27 +02:00
video
atmel_lcdfb: AT91/AT32 LCD Controller framebuffer driver
2007-05-11 08:29:37 -07:00
Kbuild