[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <559342F7.80900@huawei.com>
Date: Wed, 1 Jul 2015 09:31:35 +0800
From: "Wangnan (F)" <wangnan0@...wei.com>
To: Arnaldo Carvalho de Melo <acme@...nel.org>
CC: <ast@...mgrid.com>, <brendan.d.gregg@...il.com>,
<daniel@...earbox.net>, <namhyung@...nel.org>,
<masami.hiramatsu.pt@...achi.com>, <paulus@...ba.org>,
<a.p.zijlstra@...llo.nl>, <mingo@...hat.com>, <jolsa@...nel.org>,
<dsahern@...il.com>, <linux-kernel@...r.kernel.org>,
<lizefan@...wei.com>, <hekuang@...wei.com>, <xiakaixu@...wei.com>,
<pi3orama@....com>
Subject: Re: [RFC PATCH v9 49/50 -fix] perf probe: Init symbol as kprobe if
any event is kprobe
On 2015/6/30 22:37, Arnaldo Carvalho de Melo wrote:
> Em Tue, Jun 30, 2015 at 09:38:26AM +0800, Wangnan (F) escreveu:
>>
>> On 2015/6/29 22:33, Arnaldo Carvalho de Melo wrote:
>>> Em Sat, Jun 27, 2015 at 12:25:45PM +0000, Wang Nan escreveu:
>>>> Before this patch, add_perf_probe_events() init symbol maps only for
>>>> uprobe if the first 'struct perf_probe_event' passed to it is a uprobe
>>>> event. This is a trick because 'perf probe''s command line syntax
>>>> constrains the first elements of the probe_event arrays must be kprobes
>>>> if there is one.
>>>>
>>>> However, with the incoming BPF uprobe support, the constrain is not
>>>> hold since 'perf record' will also probe on k/u probes through BPF
>>>> object, and is possible to pass an array with kprobe but the first
>>>> element is uprobe.
>>>>
>>>> This patch init symbol maps for kprobes even if all of events are
>>>> uprobes, because the extra cost should be small enough.
>>>>
>>>> Signed-off-by: Wang Nan <wangnan0@...wei.com>
>>>> ---
>>> Please add more info here, i.e. is this to be applied on top of the
>>> original 49/50? I guess so, but please state this in the future to speed
>>> things up.
>>>
>>> - Arnaldo
>> You should replace the original 49/50, and also for the other -fix patches
>> sent
>> by me. Sorry for the lacking of information.
> Ok, figured that out, applied the first two patches before starting to
> test the userspace ones, till I got stuck on not know what was required
> to satisfy the bpf test expectation, i.e. what bpf.h file was supposed
> to be used.
>
> - Arnaldo
>
Which is /usr/include/linux/bpf.h if you only apply 2/50, and
becomes /path/to/kernel/include/uapi/linux/bpf.h for libbpf after
appling 3/50, and for perf after applying 23/50.
I'll post a v10 series with 2/50 and 3/50 merged together to reduce
your confusion.
Thank you.
>
>> I posted the modified patches only because I don't want to be noisy. If
>> posting
>> them all makes your work easier I'll do that next time.
>>
>> Thank you.
>>
>>>> tools/perf/util/probe-event.c | 2 +-
>>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/tools/perf/util/probe-event.c b/tools/perf/util/probe-event.c
>>>> index ea08015..e74ca8f 100644
>>>> --- a/tools/perf/util/probe-event.c
>>>> +++ b/tools/perf/util/probe-event.c
>>>> @@ -2804,7 +2804,7 @@ int add_perf_probe_events(struct perf_probe_event *pevs, int npevs,
>>>> {
>>>> int i, ret;
>>>> - ret = init_symbol_maps(pevs->uprobes);
>>>> + ret = init_symbol_maps(false);
>>>> if (ret < 0)
>>>> return ret;
>>>> --
>>>> 1.8.3.4
--
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