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