All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH bpf-next] selftests/bpf: add general instructions for test execution
@ 2020-05-18 11:23 Alan Maguire
  2020-05-18 23:48 ` Andrii Nakryiko
  2020-05-19 15:50 ` Alexei Starovoitov
  0 siblings, 2 replies; 5+ messages in thread
From: Alan Maguire @ 2020-05-18 11:23 UTC (permalink / raw)
  To: shuah, ast, daniel, andriin, bpf
  Cc: kafai, songliubraving, yhs, john.fastabend, kpsingh,
	linux-kselftest, netdev, Alan Maguire

Getting a clean BPF selftests run involves ensuring latest trunk LLVM/clang
are used, pahole is recent (>=1.16) and config matches the specified
config file as closely as possible.  Document all of this in the general
README.rst file.  Also note how to work around timeout failures.

Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
---
 tools/testing/selftests/bpf/README.rst | 46 ++++++++++++++++++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/tools/testing/selftests/bpf/README.rst b/tools/testing/selftests/bpf/README.rst
index 0f67f1b..b00eebb 100644
--- a/tools/testing/selftests/bpf/README.rst
+++ b/tools/testing/selftests/bpf/README.rst
@@ -1,6 +1,52 @@
 ==================
 BPF Selftest Notes
 ==================
+First verify the built kernel config options match the config options
+specified in the config file in this directory.  Test failures for
+unknown helpers, inability to find BTF etc will be observed otherwise.
+
+To ensure the maximum number of tests pass, it is best to use the latest
+trunk LLVM/clang, i.e.
+
+git clone https://github.com/llvm/llvm-project
+
+Build/install trunk LLVM:
+
+.. code-block:: bash
+  git clone https://github.com/llvm/llvm-project
+  cd llvm-project
+  mkdir build/llvm
+  cd build/llvm
+  cmake ../../llvm/
+  make
+  sudo make install
+  cd ../../
+
+Build/install trunk clang:
+
+.. code-block:: bash
+  mkdir -p build/clang
+  cd build/clang
+  cmake ../../clang
+  make
+  sudo make install
+
+When building the kernel with CONFIG_DEBUG_INFO_BTF, pahole
+version 16 or later is also required for BTF function
+support. pahole can be built from the source at
+
+https://github.com/acmel/dwarves
+
+It is often available in "dwarves/libdwarves" packages also,
+but be aware that versions prior to 1.16 will fail with
+errors that functions cannot be found in BTF.
+
+When running selftests, the default timeout of 45 seconds
+can be exceeded by some tests.  We can override the default
+timeout via a "settings" file; for example:
+
+.. code-block:: bash
+  echo "timeout=120" > tools/testing/selftests/bpf/settings
 
 Additional information about selftest failures are
 documented here.
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-05-20  5:26 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-18 11:23 [PATCH bpf-next] selftests/bpf: add general instructions for test execution Alan Maguire
2020-05-18 23:48 ` Andrii Nakryiko
2020-05-19 15:50 ` Alexei Starovoitov
2020-05-19 21:34   ` Alan Maguire
2020-05-20  5:26     ` Alexei Starovoitov

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.