Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vmtest #1

Merged
merged 199 commits into from
Oct 21, 2023
Merged

Vmtest #1

merged 199 commits into from
Oct 21, 2023

Conversation

chantra
Copy link
Owner

@chantra chantra commented Oct 21, 2023

No description provided.

chantra and others added 30 commits April 1, 2022 19:31
Since
[Kconfig.debug: make DEBUG_INFO selectable from a choice](https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf.git/commit/?id=f9b3cd24578401e7a392974b3353277286e49cee) the CI has been failing for x86_64.
This is because when running `make olddefconfig` our config used to be
nuked and generated:

```
grep CONFIG_DEBUG_INFO .config
CONFIG_DEBUG_INFO_NONE=y
```

instead of
```
CONFIG_DEBUG_INFO=y
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y
CONFIG_DEBUG_INFO_BTF=y
CONFIG_DEBUG_INFO_BTF_MODULES=y
```

This change magically re-enables CONFIG_DEBUG_INFO_BTF
Now that x86-64 implementation of multi-kprobe landed, enable selftests
again.

Signed-off-by: Andrii Nakryiko <[email protected]>
libc.so.6 can't be currently resolved in CI for s390x arch.

Signed-off-by: Andrii Nakryiko <[email protected]>
libbpf doesn't support USDTs on s390x yet.

Signed-off-by: Andrii Nakryiko <[email protected]>
Now that libbpf supports USDTs on s390x, enable usdt selftest again.

Signed-off-by: Andrii Nakryiko <[email protected]>
Add patch that removes usdt and profiler tests, the less intrusive
of the options

Signed-off-by: Mykola Lysenko <[email protected]>
Enable CONFIG_MPTCP in Kconfig for x86-64 and s390x.

Cc: Daniel Borkmann <[email protected]>
Signed-off-by: Andrii Nakryiko <[email protected]>
Add output of /proc/config.gz as a separate step
after starting the vm and before running tests

Signed-off-by: Mykola Lysenko <[email protected]>
…VM crash"

This reverts commit ce6cf7d.

Signed-off-by: Mykola Lysenko <[email protected]>
Enable the following options in Kconfig for x86-64 and s390x:

CONFIG_NETFILTER_SYNPROXY=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_SYNPROXY=y
CONFIG_IP_NF_RAW=y

These options are needed to run the selftests for the new BPF SYN cookie
helpers.

Signed-off-by: Maxim Mikityanskiy <[email protected]>
It is extremely flaky on s390x, silence it.

Signed-off-by: Andrii Nakryiko <[email protected]>
Enable kernel and BPF selftests build with LLVM
toolchain. Pass toolchain name and version to
prepare infra to build with different LLVM toolchain
versions. When using GCC toolchain, we will use LLVM
toolchain version 15 by default.

Signed-off-by: Mykola Lysenko <[email protected]>
"Backport" Yonghong's fix ([0]) for selftests preventing Clang from
crashing when compiling pyperf600 test.

  [0] 8c89b5db7a28 ("selftests/bpf: Limit unroll_count for pyperf600 test")

Signed-off-by: Andrii Nakryiko <[email protected]>
Until we fix the regression

Also, gracefully handle test names with spaces inside

Signed-off-by: Mykola Lysenko <[email protected]>
…rywhere

Another set of fixes for CI.

Signed-off-by: Andrii Nakryiko <[email protected]>
The xdp_syncookie test uses kfunc, and BPF JIT doesn't support kfunc on
s390x.

Signed-off-by: Maxim Mikityanskiy <[email protected]>
Another test with BPF trampoline dependency. BPF trampoline isn't
supported by s390x.

Signed-off-by: Andrii Nakryiko <[email protected]>
Temporarily "backport" the fix before the actual fix lands in bpf tree.

Signed-off-by: Song Liu <[email protected]>
Waiting for Clang nightly to be updated with ENUM64 support.

Signed-off-by: Andrii Nakryiko <[email protected]>
Set CONFIG_NET_L3_MASTER_DEV=y, CONFIG_NET_VRF=y for x86_64.

These options are needed for performing LWT BPF tests in test_progs.

Signed-off-by: Eyal Birger <[email protected]>
Enable CONFIG_MODULE_SIG to test the new helper
bpf_verify_pkcs7_signature().

Signed-off-by: Roberto Sassu <[email protected]>
Newest Clang emits ENUM64 types, but bpf tree doesn't yet have libbpf
that can handle them.

Signed-off-by: Andrii Nakryiko <[email protected]>
We are no longer using Travis. As such, it is confusing to anyone
reading the code to see a function prefixed 'travis_' in GitHub actions
code.
This change renames the travis_fold function to 'foldable', as a first
step towards eliminating such confusing constructs from the repository
where possible.

Signed-off-by: Daniel Müller <[email protected]>
This patch was applied before as cd9dc89, but reverted by mistake
in 7487c65.

Context: kernel-patches#41

> kernel-patches/vmtest is an exception here, not the kernel-patches/bpf

We don't want a hardcoded condition on `kernel-patches/bpf` to enable
the CI for vmtest, because it makes it harder to reuse the CI on
different repos in the future (think net/net-next) or on different forks
of bpf-next. Instead, let's copy the sources only when running the
GitHub Action on the kernel-patches/vmtest repository.

Next step should be to create a separate .yml workflow description,
specific to kernel-patches/vmtest.

Fixes: fa07d13 ("Enable CI testing for PRs in vmtest repo")
Signed-off-by: Paul Chaignon <[email protected]>
Signed-off-by: Quentin Monnet <[email protected]>
The foldable function from the CI helper infrastructure conceptually
support emitting both GitHub and Travis fold markers. However, given
that we no longer run anything on Travis, let's remove its special case,
as it's effectively dead code.

Signed-off-by: Daniel Müller <[email protected]>
iamkafai and others added 29 commits May 2, 2023 15:55
Add patch from the upstream bpf-next
commit c39028b333f3 ("libbpf: btf_dump_type_data_check_overflow needs to consider BTF_MEMBER_BITFIELD_SIZE")
It is to fix the btf_dump selftests failure in the bpf tree.

Signed-off-by: Martin KaFai Lau <[email protected]>
Co-authored-by: Martin KaFai Lau <[email protected]>
Try to fix
llvm/llvm-project#60128 (comment).
The verisions of clang and libraries are not consistent. We try to
move to llvm-17 to see if llvm-17 works without isntroducing other
issues.

Signed-off-by: Kui-Feng Lee <[email protected]>
Co-authored-by: Kui-Feng Lee <[email protected]>
Whack-a-mole game continues.

Signed-off-by: Andrii Nakryiko <[email protected]>
Add not-yet-applied patch that fixes samples/bpf build on bpf tree.

Signed-off-by: Andrii Nakryiko <[email protected]>
This reverts commit dbdafcb.

Signed-off-by: Andrii Nakryiko <[email protected]>
It is broken and figuring out why will take some time. Meanwhile we have
zero testing for all the incoming patches.

Signed-off-by: Andrii Nakryiko <[email protected]>
This fixes 39d954200bf6 ("fprobe: Skip exit_handler if entry_handler
returns !0"), which causes multiple multi-kprobe tests to fail. Upstream
fix was found at [0].

  [0]
  https://lore.kernel.org/all/168100731160.79534.374827110083836722.stgit@devnote2/#r

Signed-off-by: Andrii Nakryiko <[email protected]>
Change arm64 from llvm-17 to llvm-16 and see if it
resolves the package not found issue.

Signed-off-by: Martin KaFai Lau <[email protected]>
…l-patches#234)

Gain some better visibility for files selected for veristat processing
by enabling xtrace inside `run_veristat` function. After this update
log output looks as follows:

    ...
    run_veristat - Running veristat
      ++ awk '/^#/ { next; } { print $0 ".bpf.o"; }' ./veristat.cfg
      + globs='bpf_flow*.bpf.o
      bpf_loop_bench*.bpf.o
      ...
      xdp_synproxy*.bpf.o'
      + mkdir -p /command_output
      + ./veristat -o csv -q -e file,prog,verdict,states bpf_flow.bpf.o ...
      Failed to open 'test_usdt_multispec.bpf.o': -2
      + echo run_veristat:0
      + '[' -z '' ']'
      + set +x
    ...
Backport two patches fixing empty_skb selftest.

Signed-off-by: Andrii Nakryiko <[email protected]>
Use bpf objects from S3 bucker for Veristat validation and comparison

Signed-off-by: Nikolay Yurin <[email protected]>
Signed-off-by: Nikolay Yurin <[email protected]>
Signed-off-by: Nikolay Yurin <[email protected]>
Signed-off-by: Nikolay Yurin <[email protected]>
Github cache has S3-like structure, where key is a bucket and files
specified in the path argument makes its content.
Due to that fact save and restore actions MUST have the same path
argument.

Signed-off-by: Nikolay Yurin <[email protected]>
Signed-off-by: Nikolay Yurin <[email protected]>
Just to get some signal from CI.

Signed-off-by: Andrii Nakryiko <[email protected]>
It will go as a separate pre-patch into v7.

Signed-off-by: Andrii Nakryiko <[email protected]>
Github actions doesn't allow to access both variable and secrets for
workflows triggered by pull requests from forked repositories.

Disabling veristat validation with Meta objects for such PRs since
workflow won't be able to download objects due to missing secrets.

Signed-off-by: Nikolay Yurin <[email protected]>
- Use csv.DictReader for veristat results parsing
- Better column name handling with Enum class
- Fix the issue when comparison reports 100% change when both old and
  new values are zeros

Signed-off-by: Nikolay Yurin <[email protected]>
Hopefully they are not needed anymore.

Signed-off-by: Andrii Nakryiko <[email protected]>
Small refactoring landed after v7 submission causing a trivial merge
conflict. Let's keep CI running for BPF token v7 with a trivial revert,
until v8.

Signed-off-by: Andrii Nakryiko <[email protected]>
@chantra chantra merged commit 31d6168 into master Oct 21, 2023
2 of 4 checks passed
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.