> On Mar 4, 2020, at 12:41 PM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote: > > On Wed, Mar 04, 2020 at 08:08:07PM +0100, Jiri Olsa wrote: >> On Wed, Mar 04, 2020 at 10:07:06AM -0800, Song Liu wrote: >>> This set introduces bpftool prog profile command, which uses hardware >>> counters to profile BPF programs. >>> >>> This command attaches fentry/fexit programs to a target program. These two >>> programs read hardware counters before and after the target program and >>> calculate the difference. >>> >>> Changes v3 => v4: >>> 1. Simplify err handling in profile_open_perf_events() (Quentin); >>> 2. Remove redundant p_err() (Quentin); >>> 3. Replace tab with space in bash-completion; (Quentin); >>> 4. Fix typo _bpftool_get_map_names => _bpftool_get_prog_names (Quentin). >> >> hum, I'm getting: >> >> [jolsa@dell-r440-01 bpftool]$ pwd >> /home/jolsa/linux-perf/tools/bpf/bpftool >> [jolsa@dell-r440-01 bpftool]$ make >> ... >> make[1]: Leaving directory '/home/jolsa/linux-perf/tools/lib/bpf' >> LINK _bpftool >> make: *** No rule to make target 'skeleton/profiler.bpf.c', needed by 'skeleton/profiler.bpf.o'. Stop. > > ok, I had to apply your patches by hand, because 'git am' refused to > due to fuzz.. so some of you new files did not make it to my tree ;-) > > anyway I hit another error now: > > CC prog.o > In file included from prog.c:1553: > profiler.skel.h: In function ‘profiler_bpf__create_skeleton’: > profiler.skel.h:136:35: error: ‘struct profiler_bpf’ has no member named ‘rodata’ > 136 | s->maps[4].mmaped = (void **)&obj->rodata; > | ^~ > prog.c: In function ‘profile_read_values’: > prog.c:1650:29: error: ‘struct profiler_bpf’ has no member named ‘rodata’ > 1650 | __u32 m, cpu, num_cpu = obj->rodata->num_cpu; > > I'll try to figure it out.. might be error on my end > > do you have git repo with these changes? I pushed it to https://git.kernel.org/pub/scm/linux/kernel/git/song/linux.git/tree/?h=bpf-per-prog-stats Thanks, Song