Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8389998a authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Arnd Bergmann
Browse files

[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: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarArnd Bergmann <arnd.bergmann@de.ibm.com>
parent 6a0641e5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;

+1 −5
Original line number Diff line number Diff line
@@ -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);
+3 −0
Original line number Diff line number Diff line
@@ -74,6 +74,9 @@ struct spu_context {

	struct list_head gang_list;
	struct spu_gang *gang;

	/* scheduler fields */
	int prio;
};

struct spu_gang {
+0 −1
Original line number Diff line number Diff line
@@ -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);
+0 −1
Original line number Diff line number Diff line
@@ -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;