[Cbe-oss-dev] [RFC 2/5] spufs: add kalloc_spu_context()
Arnd Bergmann
arnd.bergmann at de.ibm.com
Wed Jun 13 02:46:59 EST 2007
On Tuesday 12 June 2007, Sebastian Siewior wrote:
> +struct spu_context *kalloc_spu_context(struct spu_gang *gang)
> +{
> + struct spu_context *ctx;
> +
> + ctx = __alloc_spu_context(gang);
> + if (!ctx)
> + return ctx;
> +
> + /* for priviliged spu context, we borrow all the task specific
> + * informations from init.
> + */
> + ctx->owner = &init_mm;
> + atomic_inc(&init_mm.mm_users);
> +
> + /* remove problem state bit, others are fine */
> + ctx->csa.priv1.mfc_sr1_RW &= ~MFC_STATE1_PROBLEM_STATE_MASK;
> + ctx->rt_priority = init_task.rt_priority;
> + ctx->policy = init_task.policy;
> + ctx->prio = init_task.prio;
> +
> + INIT_DELAYED_WORK(&ctx->sched_work, spu_sched_tick);
> + return ctx;
> +}
I just noticed that this function is almost the same as your
new alloc_spu_context() function. I think you should try to
keep more of the code common, by passing the mm_struct and
the task_struct down to the __alloc_spu_context()
function.
Arnd <><
More information about the cbe-oss-dev
mailing list