Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1174869

Re: [RFC PATCH v9 49/50 -fix] perf probe: Init symbol as kprobe if any event is kprobe

From "Wangnan (F)" <wangnan0@huawei.com>
Newsgroups linux.kernel
Subject Re: [RFC PATCH v9 49/50 -fix] perf probe: Init symbol as kprobe if any event is kprobe
Date 2015-07-01 03:40 +0200
Message-ID <pHfah-2Lm-5@gated-at.bofh.it> (permalink)
References <pFCE2-1an-25@gated-at.bofh.it> <pFXp7-5B5-7@gated-at.bofh.it> <pGIo1-5Kx-3@gated-at.bofh.it> <pGSQp-40P-5@gated-at.bofh.it> <pH4RA-4H3-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



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@huawei.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@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

Re: [RFC PATCH v9 49/50 -fix] perf probe: Init symbol as kprobe if  any event is kprobe Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-06-29 16:40 +0200
  Re: [RFC PATCH v9 49/50 -fix] perf probe: Init symbol as kprobe if  any event is kprobe "Wangnan (F)" <wangnan0@huawei.com> - 2015-06-30 03:50 +0200
    Re: [RFC PATCH v9 49/50 -fix] perf probe: Init symbol as kprobe if  any event is kprobe "Wangnan (F)" <wangnan0@huawei.com> - 2015-07-01 03:40 +0200

csiph-web