[PATCH] spufs: Improved SPU preemptability [part 2].
authorArnd Bergmann <arnd@arndb.de>
Tue, 6 Dec 2005 03:52:26 +0000 (22:52 -0500)
committerPaul Mackerras <paulus@samba.org>
Mon, 9 Jan 2006 03:52:58 +0000 (14:52 +1100)
commit2a911f0bb73e67826062b7d073dd7367ca449724
treec1d8d4f340cf7571722b2d9019f158acd345cff4
parent5110459f181ef1f11200bb3dec61953f08cc49e7
[PATCH] spufs: Improved SPU preemptability [part 2].

This patch reduces lock complexity of SPU scheduler, particularly
for involuntary preemptive switches.  As a result the new code
does a better job of mapping the highest priority tasks to SPUs.

Lock complexity is reduced by using the system default workqueue
to perform involuntary saves.  In this way we avoid nasty lock
ordering problems that the previous code had.  A "minimum timeslice"
for SPU contexts is also introduced.  The intent here is to avoid
thrashing.

While the new scheduler does a better job at prioritization it
still does nothing for fairness.

From: Mark Nutter <mnutter@us.ibm.com>
Signed-off-by: Arnd Bergmann <arndb@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/cell/spufs/context.c
arch/powerpc/platforms/cell/spufs/sched.c
arch/powerpc/platforms/cell/spufs/spufs.h
include/asm-powerpc/spu.h