diff mbox series

[bpf-next] bpf: veristat: Document verifier log dumping capability

Message ID d57bbcca81e06ae8dcdadaedb99a48dced67e422.1736466129.git.dxu@dxuuu.xyz (mailing list archive)
State New
Headers show
Series [bpf-next] bpf: veristat: Document verifier log dumping capability | expand

Commit Message

Daniel Xu Jan. 9, 2025, 11:42 p.m. UTC
`-l2 -v` is a useful combination of flags to dump the entire
verification log. This is helpful when making changes to the verifier,
as you can see what it thinks program one instruction at a time.

This was more or less a hidden feature before. Document it so others can
discover it.

Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
---
 tools/testing/selftests/bpf/veristat.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

Comments

Andrii Nakryiko Jan. 10, 2025, 10:40 p.m. UTC | #1
On Thu, Jan 9, 2025 at 3:42 PM Daniel Xu <dxu@dxuuu.xyz> wrote:
>
> `-l2 -v` is a useful combination of flags to dump the entire
> verification log. This is helpful when making changes to the verifier,
> as you can see what it thinks program one instruction at a time.
>
> This was more or less a hidden feature before. Document it so others can
> discover it.
>
> Signed-off-by: Daniel Xu <dxu@dxuuu.xyz>
> ---
>  tools/testing/selftests/bpf/veristat.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/bpf/veristat.c b/tools/testing/selftests/bpf/veristat.c
> index 974c808f9321..7d0a9cb753e3 100644
> --- a/tools/testing/selftests/bpf/veristat.c
> +++ b/tools/testing/selftests/bpf/veristat.c
> @@ -216,7 +216,8 @@ const char argp_program_doc[] =
>  "\n"
>  "USAGE: veristat <obj-file> [<obj-file>...]\n"
>  "   OR: veristat -C <baseline.csv> <comparison.csv>\n"
> -"   OR: veristat -R <results.csv>\n";
> +"   OR: veristat -R <results.csv>\n"
> +"   OR: veristat -v -l2 <to_analyze.bpf.o>\n";

let's be cute, '-vl2'? :) I adjusted while applying, but yell if you disagree

>
>  enum {
>         OPT_LOG_FIXED = 1000,
> @@ -228,7 +229,7 @@ static const struct argp_option opts[] = {
>         { "version", 'V', NULL, 0, "Print version" },
>         { "verbose", 'v', NULL, 0, "Verbose mode" },
>         { "debug", 'd', NULL, 0, "Debug mode (turns on libbpf debug logging)" },
> -       { "log-level", 'l', "LEVEL", 0, "Verifier log level (default 0 for normal mode, 1 for verbose mode)" },
> +       { "log-level", 'l', "LEVEL", 0, "Verifier log level (default 0 for normal mode, 1 for verbose mode, 2 for full verification log)" },
>         { "log-fixed", OPT_LOG_FIXED, NULL, 0, "Disable verifier log rotation" },
>         { "log-size", OPT_LOG_SIZE, "BYTES", 0, "Customize verifier log size (default to 16MB)" },
>         { "top-n", 'n', "N", 0, "Emit only up to first N results." },
> --
> 2.47.1
>
patchwork-bot+netdevbpf@kernel.org Jan. 10, 2025, 10:50 p.m. UTC | #2
Hello:

This patch was applied to bpf/bpf-next.git (master)
by Andrii Nakryiko <andrii@kernel.org>:

On Thu,  9 Jan 2025 16:42:29 -0700 you wrote:
> `-l2 -v` is a useful combination of flags to dump the entire
> verification log. This is helpful when making changes to the verifier,
> as you can see what it thinks program one instruction at a time.
> 
> This was more or less a hidden feature before. Document it so others can
> discover it.
> 
> [...]

Here is the summary with links:
  - [bpf-next] bpf: veristat: Document verifier log dumping capability
    https://git.kernel.org/bpf/bpf-next/c/95ad526edebc

You are awesome, thank you!
diff mbox series

Patch

diff --git a/tools/testing/selftests/bpf/veristat.c b/tools/testing/selftests/bpf/veristat.c
index 974c808f9321..7d0a9cb753e3 100644
--- a/tools/testing/selftests/bpf/veristat.c
+++ b/tools/testing/selftests/bpf/veristat.c
@@ -216,7 +216,8 @@  const char argp_program_doc[] =
 "\n"
 "USAGE: veristat <obj-file> [<obj-file>...]\n"
 "   OR: veristat -C <baseline.csv> <comparison.csv>\n"
-"   OR: veristat -R <results.csv>\n";
+"   OR: veristat -R <results.csv>\n"
+"   OR: veristat -v -l2 <to_analyze.bpf.o>\n";
 
 enum {
 	OPT_LOG_FIXED = 1000,
@@ -228,7 +229,7 @@  static const struct argp_option opts[] = {
 	{ "version", 'V', NULL, 0, "Print version" },
 	{ "verbose", 'v', NULL, 0, "Verbose mode" },
 	{ "debug", 'd', NULL, 0, "Debug mode (turns on libbpf debug logging)" },
-	{ "log-level", 'l', "LEVEL", 0, "Verifier log level (default 0 for normal mode, 1 for verbose mode)" },
+	{ "log-level", 'l', "LEVEL", 0, "Verifier log level (default 0 for normal mode, 1 for verbose mode, 2 for full verification log)" },
 	{ "log-fixed", OPT_LOG_FIXED, NULL, 0, "Disable verifier log rotation" },
 	{ "log-size", OPT_LOG_SIZE, "BYTES", 0, "Customize verifier log size (default to 16MB)" },
 	{ "top-n", 'n', "N", 0, "Emit only up to first N results." },