Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1173841 > unrolled thread
| Started by | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| First post | 2015-06-29 16:40 +0200 |
| Last post | 2015-07-01 03:40 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
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
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2015-06-29 16:40 +0200 |
| Subject | Re: [RFC PATCH v9 49/50 -fix] perf probe: Init symbol as kprobe if any event is kprobe |
| Message-ID | <pGIo1-5Kx-3@gated-at.bofh.it> |
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
> 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/
[toc] | [next] | [standalone]
| From | "Wangnan (F)" <wangnan0@huawei.com> |
|---|---|
| Date | 2015-06-30 03:50 +0200 |
| Message-ID | <pGSQp-40P-5@gated-at.bofh.it> |
| In reply to | #1173841 |
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.
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/
[toc] | [prev] | [next] | [standalone]
| From | "Wangnan (F)" <wangnan0@huawei.com> |
|---|---|
| Date | 2015-07-01 03:40 +0200 |
| Message-ID | <pHfah-2Lm-5@gated-at.bofh.it> |
| In reply to | #1174183 |
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/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web