Skip to content

libbpf-cargo: Simplify build_btf_mmap() test helper#1070

Merged
danielocfb merged 1 commit intolibbpf:masterfrom
d-e-s-o:topic/btf_mmap
Jan 21, 2025
Merged

libbpf-cargo: Simplify build_btf_mmap() test helper#1070
danielocfb merged 1 commit intolibbpf:masterfrom
d-e-s-o:topic/btf_mmap

Conversation

@danielocfb
Copy link
Collaborator

The build_btf_mmap() function is almost comically complex in what it does. In order to compile a single .bpf.c file it creates an entire Cargo Rust project and builds that, instead of simply compiling the file directly. Now that we have the BpfObjBuilder type, we can just about accomplish the latter without jumping through dozens of hoops. Do it. As a pleasant side effect of this reduction in complexity, the btf_dump test runtime more than halves:

Before:

  $ time target/debug/deps/libbpf_cargo-37cf1fde780326f7 btf_dump
  > running 34 tests
  > [...]
  > ________________________________________________________
  > Executed in    2.09 secs    fish           external

After:

  $ time target/debug/deps/libbpf_cargo-37cf1fde780326f7 btf_dump
  > running 34 tests
  > [...]
  > ________________________________________________________
  > Executed in  810.13 millis    fish           external

Not the motivating factor at this point, but we take it.

The build_btf_mmap() function is almost comically complex in what it
does. In order to compile a single .bpf.c file it creates an entire
Cargo Rust project and builds that, instead of simply compiling the file
directly. Now that we have the BpfObjBuilder type, we can just about
accomplish the latter without jumping through dozens of hoops. Do it. As
a pleasant side effect of this reduction in complexity, the btf_dump
test runtime more than halves:

Before:
  $ time target/debug/deps/libbpf_cargo-37cf1fde780326f7 btf_dump
  > running 34 tests
  > [...]
  > ________________________________________________________
  > Executed in    2.09 secs    fish           external

After:
  $ time target/debug/deps/libbpf_cargo-37cf1fde780326f7 btf_dump
  > running 34 tests
  > [...]
  > ________________________________________________________
  > Executed in  810.13 millis    fish           external

Not the motivating factor at this point, but we take it.

Signed-off-by: Daniel Müller <deso@posteo.net>
@danielocfb danielocfb merged commit be15077 into libbpf:master Jan 21, 2025
13 checks passed
@danielocfb danielocfb deleted the topic/btf_mmap branch January 21, 2025 21:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants