Re: [PATCH v2 1/5] perf probe: Split add_perf_probe_events()
From: Namhyung Kim
Date: Wed Sep 09 2015 - 22:27:05 EST
On Sun, Sep 06, 2015 at 03:47:37PM +0800, Wangnan (F) wrote:
> Hi Namhyung,
Hi,
>
> Thanks for this patchset.
>
> Could you plase have a look at patch 5/27 and 6/27 in my newest pull
> request?
> These 2 patches utilize new probing API to create probe point and collect
> probe_trace_events. I'm not very sure I fully understand your design
> principle,
> especially the cleanup part, because I can see different functions dealing
> with
> cleanup:
>
> cleanup_perf_probe_events
> del_perf_probe_events
> clear_perf_probe_event
> clear_probe_trace_event
>
> But non of them works perfectly for me.
The cleanup_perf_probe_events() is just to keep the existing logic as
long as possible. But I think it needs to call
clear_perf_probe_event().
The del_perf_probe_events() uses strfilter, but I think it can be
problematic if other instances or users are using similar events at
the same time.
So for your case, IMHO it'd better keeping the perf/trace events after
probing and reusing the events for unprobing. I'll take a look at it.
>
> In bpf_prog_priv__clear() function of 6/27, I copied some code from
> cleanup_perf_probe_events(), because I think when destroying bpf programs,
> the probe_trace_events should also be cleanuped, but we don't need call
> exit_symbol_maps() many times, because we are in 'perf record', and not
> sure whether other parts of perf need symbol maps. Otherwise I think
> directly
> calling cleanup_perf_probe_events() sould be better.
Yeah, I also think exit_symbol_maps() should not be a part of the
cleanup. I'll send a patch soon.
>
> You can find patch from:
>
> http://lkml.kernel.org/n/1441523623-152703-6-git-send-email-wangnan0@xxxxxxxxxx
>
> http://lkml.kernel.org/n/1441523623-152703-7-git-send-email-wangnan0@xxxxxxxxxx
Thanks for your work!
Namhyung
--
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/