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

Avi Kivity
2011-07-12T09:08:39Z

On 07/12/2011 11:38 AM, Peter Zijlstra wrote:
> On Tue, 2011-07-12 at 10:20 +0300, Avi Kivity wrote:
>
> > Maybe we need a generic "run this function in this task's context"
> > mechanism instead. Like an IPI, but targeting tasks instead of cpus.
> >
>
> kernel/event/core.c:task_function_call() like?

Similar, but with stronger guarantees: when the function is called,
current == p, and the task was either sleeping or in userspace.

This can be used to reduce synchronization requirements between tasks.
For example, you can set a task-local bit flag with this, without
atomics. If this is rare enough, it's a net win compared to adding atomics.

aio completions might also make use of this.

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