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

Arnd Bergmann
2006-12-02T20:01:24Z

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?