Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8389998ae9ea2888c86c446f7911ddced50052a1
Commit:     8389998ae9ea2888c86c446f7911ddced50052a1
Parent:     6a0641e51011def4e308fd07387047f5ee50647f
Author:     Christoph Hellwig <[EMAIL PROTECTED]>
AuthorDate: Tue Feb 13 21:54:22 2007 +0100
Committer:  Arnd Bergmann <[EMAIL PROTECTED]>
CommitDate: Tue Feb 13 21:55:40 2007 +0100

    [POWERPC] spufs: move prio to spu_context
    
    It doesn't make any sense to have a priority field in the physical spu
    structure.  Move it into the spu context instead.
    
    Signed-off-by: Christoph Hellwig <[EMAIL PROTECTED]>
    Signed-off-by: Arnd Bergmann <[EMAIL PROTECTED]>
---
 arch/powerpc/platforms/cell/spufs/context.c |    4 ++--
 arch/powerpc/platforms/cell/spufs/sched.c   |    6 +-----
 arch/powerpc/platforms/cell/spufs/spufs.h   |    3 +++
 arch/powerpc/xmon/xmon.c                    |    1 -
 include/asm-powerpc/spu.h                   |    1 -
 5 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/arch/powerpc/platforms/cell/spufs/context.c 
b/arch/powerpc/platforms/cell/spufs/context.c
index f2630dc..88a8871 100644
--- a/arch/powerpc/platforms/cell/spufs/context.c
+++ b/arch/powerpc/platforms/cell/spufs/context.c
@@ -53,6 +53,7 @@ struct spu_context *alloc_spu_context(struct spu_gang *gang)
        ctx->owner = get_task_mm(current);
        if (gang)
                spu_gang_add_ctx(gang, ctx);
+       ctx->prio = current->prio;
        goto out;
 out_free:
        kfree(ctx);
@@ -176,8 +177,7 @@ int spu_acquire_runnable(struct spu_context *ctx)
                ret = spu_activate(ctx, 0);
                if (ret)
                        goto out_unlock;
-       } else
-               ctx->spu->prio = current->prio;
+       }
 
        return 0;
 
diff --git a/arch/powerpc/platforms/cell/spufs/sched.c 
b/arch/powerpc/platforms/cell/spufs/sched.c
index c61a34b..03b357c 100644
--- a/arch/powerpc/platforms/cell/spufs/sched.c
+++ b/arch/powerpc/platforms/cell/spufs/sched.c
@@ -145,7 +145,6 @@ static void spu_bind_context(struct spu *spu, struct 
spu_context *ctx)
        ctx->spu = spu;
        ctx->ops = &spu_hw_ops;
        spu->pid = current->pid;
-       spu->prio = current->prio;
        spu->mm = ctx->owner;
        mm_needs_global_tlbie(spu->mm);
        spu->ibox_callback = spufs_ibox_callback;
@@ -189,7 +188,6 @@ static int spu_unbind_context(struct spu *spu, struct 
spu_context *ctx)
        spu->dma_callback = NULL;
        spu->mm = NULL;
        spu->pid = 0;
-       spu->prio = MAX_PRIO;
        ctx->ops = &spu_backing_ops;
        ctx->spu = NULL;
        spu->flags = 0;
@@ -223,7 +221,7 @@ static inline void spu_del_wq(wait_queue_head_t * wq, 
wait_queue_t * wait,
 
 static void spu_prio_wait(struct spu_context *ctx, u64 flags)
 {
-       int prio = current->prio;
+       int prio = ctx->prio;
        wait_queue_head_t *wq = &spu_prio->waitq[prio];
        DEFINE_WAIT(wait);
 
@@ -342,8 +340,6 @@ void spu_yield(struct spu_context *ctx)
                                         __FUNCTION__, spu->number, spu->node);
                                spu_deactivate(ctx);
                                need_yield = 1;
-                       } else {
-                               spu->prio = MAX_PRIO;
                        }
                }
                mutex_unlock(&ctx->state_mutex);
diff --git a/arch/powerpc/platforms/cell/spufs/spufs.h 
b/arch/powerpc/platforms/cell/spufs/spufs.h
index fa07ec2..b500e94 100644
--- a/arch/powerpc/platforms/cell/spufs/spufs.h
+++ b/arch/powerpc/platforms/cell/spufs/spufs.h
@@ -74,6 +74,9 @@ struct spu_context {
 
        struct list_head gang_list;
        struct spu_gang *gang;
+
+       /* scheduler fields */
+       int prio;
 };
 
 struct spu_gang {
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c
index 77540a2..0183e5f 100644
--- a/arch/powerpc/xmon/xmon.c
+++ b/arch/powerpc/xmon/xmon.c
@@ -2811,7 +2811,6 @@ static void dump_spu_fields(struct spu *spu)
        DUMP_FIELD(spu, "0x%lx", irqs[2]);
        DUMP_FIELD(spu, "0x%x", slb_replace);
        DUMP_FIELD(spu, "%d", pid);
-       DUMP_FIELD(spu, "%d", prio);
        DUMP_FIELD(spu, "0x%p", mm);
        DUMP_FIELD(spu, "0x%p", ctx);
        DUMP_FIELD(spu, "0x%p", rq);
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h
index b634e16..0f9f2dd 100644
--- a/include/asm-powerpc/spu.h
+++ b/include/asm-powerpc/spu.h
@@ -129,7 +129,6 @@ struct spu {
        struct spu_runqueue *rq;
        unsigned long long timestamp;
        pid_t pid;
-       int prio;
        int class_0_pending;
        spinlock_t register_lock;
 
-
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