[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151022161309.GG2455@kernel.org>
Date: Thu, 22 Oct 2015 13:13:09 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: "Wangnan (F)" <wangnan0@...wei.com>
Cc: ast@...mgrid.com, brendan.d.gregg@...il.com,
a.p.zijlstra@...llo.nl, daniel@...earbox.net, dsahern@...il.com,
hekuang@...wei.com, jolsa@...nel.org, lizefan@...wei.com,
masami.hiramatsu.pt@...achi.com, namhyung@...nel.org,
paulus@...ba.org, linux-kernel@...r.kernel.org, pi3orama@....com,
xiakaixu@...wei.com
Subject: Re: [PATCH 04/31] perf record, bpf: Create probe points for BPF
programs
Em Wed, Oct 21, 2015 at 10:28:03AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Wed, Oct 21, 2015 at 11:31:57AM +0800, Wangnan (F) escreveu:
> > >bpf: config program 'do_fork'
> > >symbol:do_fork file:(null) line:0 offset:0 return:0 lazy:(null)
> > >bpf: 'do_fork': event name is missing
> >
> > BPF report the problem, but it is a little bit hard to understand...
> >
> > >event syntax error: '/tmp/foo.o'
> > > \___ Invalid argument
> > >
> > >(add -v to see detail)
> > >Run 'perf list' for a list of valid events
> > >
> > > Usage: perf record [<options>] [<command>]
> > > or: perf record [<options>] -- <command> [<options>]
> > >
> > > -e, --event <event> event selector. use 'perf list' to list available events
> > >[root@...icio ~]#
> > >
> > >[root@...icio ~]# grep do_fork /proc/kallsyms
> > >ffffffff81099ab0 T _do_fork
> > >ffffffff81ccc800 d do_fork_test
> > >[root@...icio ~]#
> > >
> > >$ echo '__attribute__((section("_do_fork"), used)) int fork(void *ctx) {return 0;} char _license[] __attribute__((section("license"), used)) = "GPL";int _version __attribute__((section("version"), used)) = 0x40100;' | clang -D__KERNEL__ $CLANG_OPTIONS $KERNEL_INC_OPTIONS -Wno-unused-value -Wno-pointer-sign -working-directory $WORKING_DIR -c - -target bpf -O2 -o /tmp/foo.o
>
> > In your program you only provide "do_fork", but we need "key=value"
> > syntax. "key" will become the name of created kprobe. Please try
> > "__attribute__((section("func=do_fork"), used)) " instead.
>
> > I think when event name is missing we'd better construct one name for
> > it like perf probe, but then we need to deal with perf probe code
> > again. It may require another patch.
>
> Nah, lets go with what we have, i.e. I'll take that into account and
> test with the expected form.
So, pushed this cset with my committer testing notes:
https://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/commit/?h=perf/ebpf&id=bd3c477e57233819580f5824dea3a6922a860a24
continuing...
- Arnaldo
--
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