[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