]> www.infradead.org Git - users/hch/dma-mapping.git/commit
selftests/bpf: Do not update vmlinux.h unnecessarily
authorIhor Solodrai <ihor.solodrai@pm.me>
Wed, 28 Aug 2024 17:46:23 +0000 (17:46 +0000)
committerAndrii Nakryiko <andrii@kernel.org>
Fri, 30 Aug 2024 18:54:14 +0000 (11:54 -0700)
commit2ad6d23f465a4f851e3bcf6d74c315ce7b2c205b
tree3000c6c0a7ffede66896137e75d7205270bc2ce0
parent38960ac8f916d1e60d4ceb4735a93740c4308d9c
selftests/bpf: Do not update vmlinux.h unnecessarily

%.bpf.o objects depend on vmlinux.h, which makes them transitively
dependent on unnecessary libbpf headers. However vmlinux.h doesn't
actually change as often.

When generating vmlinux.h, compare it to a previous version and update
it only if there are changes.

Example of build time improvement (after first clean build):
  $ touch ../../../lib/bpf/bpf.h
  $ time make -j8
Before: real  1m37.592s
After:  real  0m27.310s

Notice that %.bpf.o gen step is skipped if vmlinux.h hasn't changed.

Signed-off-by: Ihor Solodrai <ihor.solodrai@pm.me>
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/bpf/CAEf4BzY1z5cC7BKye8=A8aTVxpsCzD=p1jdTfKC7i0XVuYoHUQ@mail.gmail.com
Link: https://lore.kernel.org/bpf/20240828174608.377204-2-ihor.solodrai@pm.me
tools/testing/selftests/bpf/Makefile