[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1276712372.1745.619.camel@laptop>
Date: Wed, 16 Jun 2010 20:19:32 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: paulus <paulus@...ba.org>
Cc: stephane eranian <eranian@...glemail.com>,
Robert Richter <robert.richter@....com>,
Will Deacon <will.deacon@....com>,
Paul Mundt <lethal@...ux-sh.org>,
Frederic Weisbecker <fweisbec@...il.com>,
Cyrill Gorcunov <gorcunov@...il.com>,
Lin Ming <ming.m.lin@...el.com>,
Yanmin <yanmin_zhang@...ux.intel.com>,
Deng-Cheng Zhu <dengcheng.zhu@...il.com>,
David Miller <davem@...emloft.net>,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...e.hu>
Subject: Re: [RFC][PATCH 0/8] perf pmu interface
On Wed, 2010-06-16 at 18:00 +0200, Peter Zijlstra wrote:
> These patches prepare the perf code for multiple pmus (no user
> interface yet, Lin Ming is working on that). These patches remove all
> weak functions and rework the struct pmu interface.
>
> The latter is inspired by the work Frederic is doing to to filter out
> IRQ contexts.
>
> These patches are very prelimenary, they haven't seen a compiler yet and
> the last patch still needs sparc,ppc and arm converted.
>
> But they patches seem to be in a good enough shape to see what people
> think..
Another idea I was kicking about was to push find_get_context()
partially into struct pmu, so that we can have context's per pmu.
For cpu-wide contexts its easy, for per-task contexts we need more
pointers in task_struct, so I was thinking of something like:
enum {
perf_swevent_context = 0,
perf_cpu_context,
#ifdef HW_BREAKPOINT
perf_bp_context,
#endif
perf_nr_task_context
};
struct task_struct {
...
struct perf_event_context *perf_event_ctxs[perf_nr_task_context];
...
};
and have add for loops over the struct pmu list for the cpu-wide
contexts and for loops over perf_nr_task_context for the task contexts.
It would add some extra code to the hot-paths, but its the best I can
come up with.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists