Re: [PATCH 1/3] perf: add context field to perf_event

From: Avi Kivity
Date: Tue Jul 12 2011 - 05:27:40 EST


On 07/12/2011 12:18 PM, Peter Zijlstra wrote:
>
> The guarantee is that the task was sleeping just before the function is
> called. Of course it's woken up to run the function.
>
> The idea is that you run the function in a known safe point to avoid
> extra synchronization.
>

I'd much rather we didn't wake the task and let it sleep, that's usually
a very safe place for tasks to be. All you'd need is a guarantee it
won't be woken up while you're doing your thing.

But it means that 'current' is not set to the right value. If the function depends on it, then it will misbehave. And in fact preempt_notifier_register(), which is the function we want to call here, does depend on current.

Of course we need to find more users for this, but I have a feeling this will be generally useful. The alternative is to keep adding bits to thread_info::flags.

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/