Subject: Re: [Cbe-oss-dev] [PATCH]Add notification for active Cell SPU tasks

From: Arnd Bergmann <[email-masked]>
Date: Sat, 2 Dec 2006 21:00:19 +0100

On Friday 01 December 2006 21:01, Maynard Johnson wrote:
> +static void notify_spus_active(void)
> +{
> +       int node;
> +       for (node = 0; node < MAX_NUMNODES; node++) {
> +               struct spu *spu;
> +               mutex_lock(&spu_prio->active_mutex[node]);
> +               list_for_each_entry(spu, &spu_prio->active_list[node], list) {
> +                                struct spu_context *ctx = spu->ctx;
> +                                blocking_notifier_call_chain(&spu_switch_notifier,
> +                                                ctx ? ctx->object_id : 0, spu);
> +               }
> +               mutex_unlock(&spu_prio->active_mutex[node]);
> +        }

I wonder if this is enough for oprofile. Don't you need to access user
space data of the task running on the SPU? I always assumed you want
to do it via get_user or copy_from_user, which obviously doesn't work
here, when you're running in the oprofile task. Are you using something
like access_process_vm now?

	Arnd <><