Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5c0b9ec538a86433ddd725f675e0a5a2117b9ed
Commit:     e5c0b9ec538a86433ddd725f675e0a5a2117b9ed
Parent:     d30ac1242bf842fe28501a78a460a43910ef2dba
Author:     Christoph Hellwig <[EMAIL PROTECTED]>
AuthorDate: Tue Jun 5 11:25:59 2007 +1000
Committer:  Paul Mackerras <[EMAIL PROTECTED]>
CommitDate: Thu Jun 7 11:44:40 2007 +1000

    [POWERPC] spufs: Don't yield nosched context
    
    Nosched context sould never be scheduled out, thus we must not
    deactivate them in spu_yield ever.
    
    Signed-off-by: Christoph Hellwig <[EMAIL PROTECTED]>
    Signed-off-by: Jeremy Kerr <[EMAIL PROTECTED]>
    Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>
---
 arch/powerpc/platforms/cell/spufs/sched.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/platforms/cell/spufs/sched.c 
b/arch/powerpc/platforms/cell/spufs/sched.c
index 68fcdc4..3b831e0 100644
--- a/arch/powerpc/platforms/cell/spufs/sched.c
+++ b/arch/powerpc/platforms/cell/spufs/sched.c
@@ -430,9 +430,11 @@ void spu_deactivate(struct spu_context *ctx)
  */
 void spu_yield(struct spu_context *ctx)
 {
-       mutex_lock(&ctx->state_mutex);
-       __spu_deactivate(ctx, 0, MAX_PRIO);
-       mutex_unlock(&ctx->state_mutex);
+       if (!(ctx->flags & SPU_CREATE_NOSCHED)) {
+               mutex_lock(&ctx->state_mutex);
+               __spu_deactivate(ctx, 0, MAX_PRIO);
+               mutex_unlock(&ctx->state_mutex);
+       }
 }
 
 void spu_sched_tick(struct work_struct *work)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to