All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Wang Nan <wangnan0@huawei.com>
Cc: lizefan@huawei.com, pi3orama@163.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/5] perf bpf: Improve error code delivering and output
Date: Tue, 3 Nov 2015 12:43:00 -0300	[thread overview]
Message-ID: <20151103154259.GR21609@kernel.org> (raw)
In-Reply-To: <1446547486-229499-1-git-send-email-wangnan0@huawei.com>

Em Tue, Nov 03, 2015 at 10:44:41AM +0000, Wang Nan escreveu:
> This patchset is based on tip/core.
> 
> Arnaldo found some confusing error reports when reviewing BPF related
> patches. This patch set makes some changes:

Thanks for working on this!

I applied the first two and made comments about the conversion to using
err.h, please check,

- Arnaldo
 
>  - perf test only print ok, failed or skip. Extra messages can be seen
>    by '-v'.
> 
>  - libbpf not output anything when called from perf without '-v'.
> 
>  - Create libbpf and bpf-loader specific error number group to deliver
>    precise error. New strerror framework makes adding new error code
>    easier.
> 
>  - Improve error messages.
> 
> After applying this patch:
> 
> When target object not exist:
> 
>  $ ls ./foo.o
>  ls: cannot access ./foo.o: No such file or directory
>  $ ./perf record --event foo.o sleep
>  event syntax error: 'foo.o'
>                       \___ Failed to load foo.o: No such file or directory
> 
>  (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
> 
> When target object format invalid:
> 
>  $ cp /etc/passwd ./badbpf.o
>  $ ./perf record --event ./badbpf.o sleep
>  event syntax error: './badbpf.o'
>                       \___ Failed to load ./badbpf.o: BPF object format invalid
>  (... skip ...)
> 
> When run by normal user and /proc/sys/kernel/kptr_restrict is 1:
> 
>  $ cat /proc/sys/kernel/kptr_restrict
>  1
>  $ ./perf record --event ./bpf-script-example.o sleep
>  Failed to init vmlinux path.
>  event syntax error: './bpf-script-example.o'
>                       \___ You need to be root, and /proc/sys/kernel/kptr_restrict should be 0
>  (... skip ...)
> 
> After fixing /proc/sys/kernel/kptr_restrict:
> 
>  $ sudo -s
>  # echo 0 > /proc/sys/kernel/kptr_restrict
>  # exit
>  $ ./perf record --event ./bpf-script-example.o sleep
>  Failed to open kprobe_events: Permission denied
>  event syntax error: './bpf-script-example.o'
>                       \___ You need to be root
>  (... skip ...)
> 
> Load an object with no 'version' section:
> 
>  # ./perf record --event ./bpf-script-example.o sleep
>  event syntax error: './bpf-script-example.o'
>                       \___ Failed to load ./bpf-script-example.o: 'version' section incorrect or lost
>  (... skip ...)
> 
> Load an object with incorrect 'version' section:
>  # ./perf record --event ./bpf-script-example.o sleep
>  event syntax error: './bpf-script-example.o'
>                       \___ Failed to load program: Validate your program and check 'license'/'version' sections in your object
>  (... skip ...)
> 
> When event name not set:
> 
>  # ./perf record --event ./bpf-script-example.o sleep
>  event syntax error: './bpf-script-example.o'
>                       \___ No event name found in config string
>  (... skip ...)
> 
> Wang Nan (5):
>   perf test: Keep test result clean if '-v' not set
>   perf tools: Mute libbpf when '-v' not set
>   perf tools: Parsing libbpf return value using err.h
>   bpf tools: Improve libbpf error reporting
>   perf tools: Improve BPF related error messages output
> 
>  tools/lib/bpf/libbpf.c             | 149 +++++++++++++++++++++++++------------
>  tools/lib/bpf/libbpf.h             |  12 +++
>  tools/perf/tests/attr.c            |   3 +-
>  tools/perf/tests/code-reading.c    |   8 +-
>  tools/perf/tests/keep-tracking.c   |   4 +-
>  tools/perf/tests/llvm.c            |  13 ++--
>  tools/perf/tests/switch-tracking.c |   4 +-
>  tools/perf/util/bpf-loader.c       | 110 +++++++++++++++++++++++----
>  tools/perf/util/bpf-loader.h       |  18 +++++
>  tools/perf/util/parse-events.c     |   7 +-
>  10 files changed, 243 insertions(+), 85 deletions(-)
> 
> -- 
> 1.8.3.4

  parent reply	other threads:[~2015-11-03 15:43 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-03 10:44 [PATCH 0/5] perf bpf: Improve error code delivering and output Wang Nan
2015-11-03 10:44 ` [PATCH 1/5] perf test: Keep test result clean if '-v' not set Wang Nan
2015-11-03 11:19   ` Namhyung Kim
2015-11-08  7:27   ` [tip:perf/urgent] " tip-bot for Wang Nan
2015-11-03 10:44 ` [PATCH 2/5] perf tools: Mute libbpf when " Wang Nan
2015-11-03 10:49   ` Wangnan (F)
2015-11-08  7:27   ` [tip:perf/urgent] perf bpf: " tip-bot for Wang Nan
2015-11-03 10:44 ` [PATCH 3/5] perf tools: Parsing libbpf return value using err.h Wang Nan
2015-11-03 15:17   ` Arnaldo Carvalho de Melo
2015-11-03 15:20     ` Arnaldo Carvalho de Melo
2015-11-03 10:44 ` [PATCH 4/5] bpf tools: Improve libbpf error reporting Wang Nan
2015-11-03 10:44 ` [PATCH 5/5] perf tools: Improve BPF related error messages output Wang Nan
2015-11-03 15:43 ` Arnaldo Carvalho de Melo [this message]
2015-11-04  1:43   ` [PATCH 0/5] perf bpf: Improve error code delivering and output Wangnan (F)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151103154259.GR21609@kernel.org \
    --to=acme@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=pi3orama@163.com \
    --cc=wangnan0@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.