[Cbe-oss-dev] PATCH [0/7] spusched enhancements

Jeremy Kerr jk at ozlabs.org
Fri Nov 2 17:49:21 EST 2007


Hi Luke,

> Same patchset as before but re-organized slightly.

Nice work! Most patches look good, but a few issues still left to iron 
out:

* These are based on the 2.6.22 tree + SDK3 patches. In particular, they 
require Arnd's block-in-spu_acquire_runnable.patch for the ctx->run_wq 
waitqueue. I'm in the process of re-rolling these for the spufs tree 
(based on current powerpc head) though, and will post the updated 
patches when I'm done. The most pervasive change is the transition from 
SPUCTX_UTIL_* to SPU_UTIL_*.

Arnd - OK if I steal this patch from your tree? Is there anything else 
from the SDK series that you'd like to submit?

* The patch "[4/7] decouple spu scheduler from spufs_spu_run" introduces 
a bug for overcommitment. The consume-all test[1] blocks forever, and 
results in an uninterruptable process. After kill -9-ing it, I end up 
with contexts left hanging around, and a whole bunch of blocked kernel 
threads:
 
Call Trace:
[c0000000020cf6d0] [c0000000020cf770] 0xc0000000020cf770 (unreliable)
[c0000000020cf8a0] [c00000000000e9f0] .__switch_to+0xcc/0x100
[c0000000020cf930] [c00000000036ef9c] .schedule+0x5c4/0x670
[c0000000020cfa20] [c00000000036ff64] .__mutex_lock_slowpath+0x1c8/0x32c
[c0000000020cfaf0] [d000000000107a0c] .spu_activate+0x304/0x6d4 [spufs]
[c0000000020cfbd0] [d000000000109b28] .spufs_run_spu+0x668/0xd9c [spufs]
[c0000000020cfcd0] [d00000000010568c] .do_spu_run+0xb4/0x17c [spufs]
[c0000000020cfd80] [c000000000039b30] .sys_spu_run+0xb8/0x124
[c0000000020cfe30] [c000000000007534] syscall_exit+0x0/0x40

I'll see if I can chase down the problem, but do you have any ideas 
here?

* Small problem with with CONFIG_SPU_FS=m - we need some 
EXPORT_SYMBOL_GPLs for the spu_handle_class{0,1} functions.

Cheers,


Jeremy

[1]: 
http://git.kernel.org/?p=linux/kernel/git/jk/spufs-testsuite.git;a=blob;f=tests/03-context/03-consume-all.c




More information about the cbe-oss-dev mailing list