Re: disabling group leader perf_event

From: Steven Rostedt
Date: Tue Sep 07 2010 - 08:53:57 EST


On Mon, 2010-09-06 at 11:42 -0500, Tom Zanussi wrote:
> Hi,
>
> On Mon, 2010-09-06 at 09:16 -0400, Steven Rostedt wrote:
> > Sorry for top post, sending via my android phone. Today's a US holiday.
> >
> >
> > We can filter before the work, if we expose the parameters. Currently we filter what goes into the buffer and there are several cases where we don't know the result before the work.
> >
> > If we also expose the parameters of a TRACE_EVENT, then we can filter on them before the work.
>
> I'm not sure exactly what you mean by exposing the parameters, but yeah,
> in general it should be possible to filter on any field you can get the
> address of, before you ever allocate space for the event or assign the
> field to it.
>
> In the cases where you don't know the result until you do the work, such
> as for example this from kvm_age_page tracepoint:
>
> TP_fast_assign(
> __entry->hva = hva;
> __entry->gfn =
> slot->base_gfn + ((hva - slot->userspace_addr) >>
> PAGE_SHIFT);
> __entry->referenced = ref;
> ),
>
> I guess you'd want the macro to assign the result to a temporary in
> order to be able to participate in the filtering, or did you have
> something else in mind?

Here we already did the work. We assigned everything, then might as well
keep what we have. What I had in mind was:

TRACE_EVENT(kvm_age_page,
TP_PROTO(ulong hva, struct kvm_memory_slot *slot, int ref),
TP_ARGS(hva, slot, ref),

and be able to make a filter that says: slot->userspace_addr > X

Where we filter the parameters and not what is in the entry.
Unfortunately, this would make TRACE_EVENT() even bigger since we would
need to store what the parameter names are.

-- Steve




--
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/