On Wed, 2010-12-01 at 19:02 +0100, Frederic Weisbecker wrote:
What context? :-) There's now two context's (with the possibility of
even more), which one will hold the tracepoint stuff?
Also, since we only need one such structure, adding it to the context
doesn't make sense.
You didn't look hard enough, its a sequence stamp on the context for
inheritance, then later, when we want to compare inherited contexts we
can simply compare generation numbers, if they're the same the contexts
are the same.
No, there's only 1 idr per task. Having one per context means we have to
iterate all contexts when a tracepoint triggers and it adds yet another
pointer chase. It also means we have to manage more stuff when
tracepoints change context etc..
But yes, it would make this part easier, I just don't like the added
fast path overhead.
We hold a ref on the task on the create path, I'd have to actually think
about the destroy path, but I think there's a problem there.
I used to have a PERF_ATTACH_CONTEXT/GROUP test in there as well, dunno
why that didn't work out.
--