diff options
author | Christoph Hellwig <hch@lst.de> | 2007-06-28 20:57:55 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-07-03 01:24:45 -0400 |
commit | 2cf2b3b49f10d2f4a0703070fc54ce1cd84a6cda (patch) | |
tree | d8b19ec2df628df8b5b10e2ac4576c28d51b9548 /arch/powerpc/platforms/cell/spufs/spufs.h | |
parent | f3f59bec0c7ad083e9c95a550bcb1e9ca27e25f4 (diff) |
[POWERPC] spusched: Update scheduling paramters on every spu_run
Update scheduling information on every spu_run to allow for setting
threads to realtime priority just before running them. This requires
some slightly ugly code in spufs_run_spu because we can just update
the information unlocked if the spu is not runnable, but we need to
acquire the active_mutex when it is runnable to protect against
find_victim. This locking scheme requires opencoding
spu_acquire_runnable in spufs_run_spu which actually is a nice cleanup
all by itself.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/platforms/cell/spufs/spufs.h')
-rw-r--r-- | arch/powerpc/platforms/cell/spufs/spufs.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/spufs.h b/arch/powerpc/platforms/cell/spufs/spufs.h index fddc59c204b5..ff77f904fa31 100644 --- a/arch/powerpc/platforms/cell/spufs/spufs.h +++ b/arch/powerpc/platforms/cell/spufs/spufs.h | |||
@@ -195,6 +195,8 @@ int spu_activate(struct spu_context *ctx, unsigned long flags); | |||
195 | void spu_deactivate(struct spu_context *ctx); | 195 | void spu_deactivate(struct spu_context *ctx); |
196 | void spu_yield(struct spu_context *ctx); | 196 | void spu_yield(struct spu_context *ctx); |
197 | void spu_set_timeslice(struct spu_context *ctx); | 197 | void spu_set_timeslice(struct spu_context *ctx); |
198 | void spu_update_sched_info(struct spu_context *ctx); | ||
199 | void __spu_update_sched_info(struct spu_context *ctx); | ||
198 | int __init spu_sched_init(void); | 200 | int __init spu_sched_init(void); |
199 | void __exit spu_sched_exit(void); | 201 | void __exit spu_sched_exit(void); |
200 | 202 | ||