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

Arm64 test #12

Open
wants to merge 74 commits into
base: rcu-dev_test
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
d078eb7
tools/memory-model: Document locking corner cases
paulmckrcu Aug 14, 2020
d55a79c
tools/memory-model: Make judgelitmus.sh note timeouts
paulmckrcu Mar 18, 2019
3e0e0d9
tools/memory-model: Make cmplitmushist.sh note timeouts
paulmckrcu Mar 18, 2019
ce26c0d
tools/memory-model: Make judgelitmus.sh identify bad macros
paulmckrcu Mar 18, 2019
e450f7e
tools/memory-model: Make judgelitmus.sh detect hard deadlocks
paulmckrcu Mar 19, 2019
c82c61e
tools/memory-model: Fix paulmck email address on pre-existing scripts
paulmckrcu Apr 11, 2019
4be1396
tools/memory-model: Update parseargs.sh for hardware verification
paulmckrcu Mar 19, 2019
a0ef691
tools/memory-model: Make judgelitmus.sh handle hardware verifications
paulmckrcu Mar 19, 2019
8fca8d0
tools/memory-model: Add simpletest.sh to check locking, RCU, and SRCU
paulmckrcu Mar 19, 2019
b483d17
tools/memory-model: Fix checkalllitmus.sh comment
paulmckrcu Mar 19, 2019
415343c
tools/memory-model: Hardware checking for check{,all}litmus.sh
paulmckrcu Mar 20, 2019
a4da1dc
tools/memory-model: Make judgelitmus.sh ransack .litmus.out files
paulmckrcu Mar 20, 2019
b8e2918
tools/memory-model: Split runlitmus.sh out of checklitmus.sh
paulmckrcu Mar 20, 2019
92e93ba
tools/memory-model: Make runlitmus.sh generate .litmus.out for --hw
paulmckrcu Mar 20, 2019
07492ae
tools/memory-model: Move from .AArch64.litmus.out to .litmus.AArch.out
paulmckrcu Mar 21, 2019
1585dd5
tools/memory-model: Keep assembly-language litmus tests
paulmckrcu Mar 21, 2019
199d988
tools/memory-model: Allow herd to deduce CPU type
paulmckrcu Mar 22, 2019
f85c750
tools/memory-model: Make runlitmus.sh check for jingle errors
paulmckrcu Mar 26, 2019
d0dc9d3
tools/memory-model: Add -v flag to jingle7 runs
paulmckrcu Apr 5, 2019
660959d
tools/memory-model: Implement --hw support for checkghlitmus.sh
paulmckrcu Mar 23, 2019
935d88f
tools/memory-model: Fix scripting --jobs argument
paulmckrcu Mar 27, 2019
8061f85
tools/memory-model: Make checkghlitmus.sh use mselect7
paulmckrcu Apr 8, 2019
ce208b6
tools/memory-model: Make history-check scripts use mselect7
paulmckrcu Apr 8, 2019
c5cdcac
tools/memory-model: Add "--" to parseargs.sh for additional arguments
paulmckrcu May 2, 2019
8fe3019
tools/memory-model: Repair parseargs.sh header comment
paulmckrcu May 2, 2019
b53862d
tools/memory-model: Add checktheselitmus.sh to run specified litmus t…
paulmckrcu May 2, 2019
7458b3b
tools/memory-model: Add data-race capabilities to judgelitmus.sh
paulmckrcu May 3, 2019
40652cf
tools/memory-model: Make judgelitmus.sh handle scripted Result: tag
paulmckrcu Jun 6, 2019
5e12d26
tools/memory-model: Use "-unroll 0" to keep --hw runs finite
paulmckrcu Jun 25, 2019
3d5bfdc
Merge branch 'nolibc.2022.08.31b' into HEAD
paulmckrcu Sep 1, 2022
d3d8f70
Merge branch 'lkmm.2022.08.31b' into HEAD
paulmckrcu Sep 1, 2022
b468343
srcu: Convert ->srcu_lock_count and ->srcu_unlock_count to atomic
paulmckrcu Sep 15, 2022
9dfbe74
srcu: Create an srcu_read_lock_nmisafe() and srcu_read_unlock_nmisafe()
paulmckrcu Sep 15, 2022
6b8c22e
srcu: Check for consistent per-CPU per-srcu_struct NMI safety
paulmckrcu Sep 19, 2022
f944bb4
srcu: Check for consistent global per-srcu_struct NMI safety
paulmckrcu Sep 20, 2022
73fb4e7
arch/x86: Add ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option
paulmckrcu Sep 28, 2022
26a861b
arch/arm64: Add ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option
paulmckrcu Sep 28, 2022
839fc1e
arch/loongarch: Add ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option
paulmckrcu Sep 28, 2022
83ddb5e
arch/s390: Add ARCH_HAS_NMI_SAFE_THIS_CPU_OPS Kconfig option
paulmckrcu Sep 28, 2022
6c06699
Merge branch 'srcunmisafe.2022.10.03a' into HEAD
paulmckrcu Oct 3, 2022
9f3bbbe
Merge branch 'lkmm-dev.2022.08.31b' into HEAD
paulmckrcu Oct 3, 2022
6a08a86
memory-model: Prohibit nested SRCU read-side critical sections
paulmckrcu Apr 27, 2022
ef1e00c
rcutorture: Verify NUM_ACTIVE_RCU_POLL_FULL_OLDSTATE
paulmckrcu Aug 25, 2022
fa95bca
rcutorture: Verify NUM_ACTIVE_RCU_POLL_OLDSTATE
paulmckrcu Aug 25, 2022
66d6105
rcutorture: Add --bootargs parameter to kvm-again.sh
paulmckrcu Aug 26, 2022
5010647
torture: Use mktemp instead of guessing at unique names
paulmckrcu Aug 27, 2022
de8d9a3
rcutorture: Make kvm-test-1-run-qemu.sh check for alternative output
paulmckrcu Aug 29, 2022
9cfd8c6
rcutorture: Make kvm-recheck.sh export TORTURE_SUITE
paulmckrcu Aug 29, 2022
e04ff9b
rcutorture: Add --datestamp parameter to kvm-again.sh
paulmckrcu Aug 29, 2022
7d0b63c
rcutorture: Avoid redundant builds for rcuscale and refscale in tortu…
paulmckrcu Aug 29, 2022
89ab485
rcutorture: Avoid torture.sh compressing identical files
paulmckrcu Aug 30, 2022
ef9801b
rcu: Remove duplicate RCU exp QS report from rcu_report_dead()
qiangzh3 Aug 30, 2022
802f2ea
tools/memory-model: Weaken ctrl dependency definition in explanation.txt
paulhdk Sep 3, 2022
7785e3e
torture: Make torture.sh create a properly formated log file
paulmckrcu Sep 4, 2022
af6b746
rcu: Synchronize ->qsmaskinitnext in rcu_boost_kthread_setaffinity()
liupingfan Sep 6, 2022
a9f1197
doc: Remove arrayRCU.rst
paulmckrcu Sep 8, 2022
d7d4582
doc: Update checklist.txt
paulmckrcu Sep 9, 2022
b778877
doc: Update listRCU.rst
paulmckrcu Sep 11, 2022
86d5d4d
kcsan: Instrument memcpy/memset/memmove with newer Clang
melver Sep 12, 2022
0661550
objtool, kcsan: Add volatile read/write instrumentation to whitelist
melver Sep 12, 2022
d8c746c
rcu: Simplify rcu_init_nohz() cpumask handling
Sep 13, 2022
f3706cb
rcu: Remove unused 'cpu' in rcu_virt_note_context_switch()
henryZe Sep 15, 2022
b1dfe79
rcu: Use READ_ONCE() for lockless read of rnp->qsmask
joelagnel Sep 17, 2022
083088b
rcu: Fix late wakeup when flush of bypass cblist happens (v6)
joelagnel Sep 17, 2022
52d7c5b
rcu: Let non-offloaded idle CPUs with callbacks defer tick
paulmckrcu Sep 21, 2022
33f3f2d
slab: Explain why SLAB_DESTROY_BY_RCU reference before locking
paulmckrcu Sep 26, 2022
4702119
rcu: Remove rcu_is_idle_cpu()
Sep 26, 2022
c69f94b
rcu-tasks: Make grace-period-age message human-readable
paulmckrcu Sep 29, 2022
ec68deb
clocksource: Reject bogus watchdog clocksource measurements
paulmckrcu Oct 5, 2022
0d7d3cd
adding/updating ci files
chantra Oct 5, 2022
253c16f
Dummy commit
chantra Oct 5, 2022
29622f1
test running on arm64
chantra Oct 4, 2022
26140a2
use chantra/ci repo @aarch64_img
chantra Oct 5, 2022
fc2c589
run on first steps on arm64 to speed up process, e/g no need to wait …
chantra Oct 5, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
155 changes: 155 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
name: bpf-ci

on:
pull_request:

concurrency:
group: ci-test-${{ github.head_ref }}
cancel-in-progress: true

jobs:
llvm-toolchain:
runs-on: ARM64
outputs:
llvm: ${{ steps.llvm-toolchain-impl.outputs.version }}
steps:
- id: llvm-version
uses: chantra/ci/get-llvm-version@aarch64_img
- id: llvm-toolchain-impl
shell: bash
run: echo "::set-output name=version::llvm-${{ steps.llvm-version.outputs.version }}"
set-matrix:
needs: llvm-toolchain
runs-on: ARM64
outputs:
build-matrix: ${{ steps.set-matrix-impl.outputs.build_matrix }}
test-matrix: ${{ steps.set-matrix-impl.outputs.test_matrix }}
steps:
- id: set-matrix-impl
shell: python3 -I {0}
run: |
from json import dumps

matrix = [
{"kernel": "LATEST", "runs_on": ["ARM64", "self-hosted"], "arch": "aarch64", "toolchain": "gcc"},
]


build_matrix = {"include": matrix}
print(f"::set-output name=build_matrix::{dumps(build_matrix)}")

tests = ["test_progs", "test_progs_no_alu32", "test_maps", "test_verifier"]
test_matrix = {"include": [{**config, **{"test": test}}
for config in matrix
for test in tests]}
print(f"::set-output name=test_matrix::{dumps(test_matrix)}")
build:
name: build for ${{ matrix.arch }} with ${{ matrix.toolchain }}
needs: set-matrix
runs-on: ${{ matrix.runs_on }}
timeout-minutes: 100
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.set-matrix.outputs.build-matrix) }}
env:
KERNEL: ${{ matrix.kernel }}
REPO_ROOT: ${{ github.workspace }}
REPO_PATH: ""
steps:
- uses: actions/checkout@v2
- if: ${{ github.repository == 'kernel-patches/vmtest' }}
name: Download bpf-next tree
uses: chantra/ci/get-linux-source@aarch64_img
with:
dest: '.kernel'
- if: ${{ github.repository == 'kernel-patches/vmtest' }}
name: Move linux source in place
shell: bash
run: |
rm -rf .kernel/.git
cp -rf .kernel/. .
rm -rf .kernel
- uses: chantra/ci/patch-kernel@aarch64_img
with:
patches-root: '${{ github.workspace }}/ci/diffs'
repo-root: '${{ github.workspace }}'
- name: Setup build environment
uses: chantra/ci/setup-build-env@aarch64_img
- name: Build kernel image
uses: chantra/ci/build-linux@aarch64_img
with:
arch: ${{ matrix.arch }}
toolchain: ${{ matrix.toolchain }}
- name: Build selftests
uses: chantra/ci/build-selftests@aarch64_img
with:
vmlinux_btf: ${{ github.workspace }}/vmlinux
toolchain: ${{ matrix.toolchain }}
- name: Build samples
uses: chantra/ci/build-samples@aarch64_img
with:
vmlinux_btf: ${{ github.workspace }}/vmlinux
toolchain: ${{ matrix.toolchain }}
- name: Tar artifacts
run: |
file_list=""
if [ "${{ github.repository }}" == "kernel-patches/vmtest" ]; then
# Package up a bunch of additional infrastructure to support running
# 'make kernelrelease' and bpf tool checks later on.
file_list="$(find . -iname Makefile | xargs) \
scripts/ \
tools/testing/selftests/bpf/ \
tools/include/ \
tools/bpf/bpftool/";
fi

tar -czf vmlinux-${{ matrix.arch }}-${{ matrix.toolchain }}.tar.gz \
.config \
arch/*/boot/*Image* \
include/config/auto.conf \
include/generated/autoconf.h \
${file_list} \
--exclude '*.h' \
selftests/bpf/ \
vmlinux
- uses: actions/upload-artifact@v3
with:
name: vmlinux-${{ matrix.arch }}-${{ matrix.toolchain }}
if-no-files-found: error
path: vmlinux-${{ matrix.arch }}-${{ matrix.toolchain }}.tar.gz
test:
name: ${{ matrix.test }} on ${{ matrix.arch }} with ${{ matrix.toolchain }}
needs: [set-matrix, build]
strategy:
fail-fast: false
matrix: ${{ fromJSON(needs.set-matrix.outputs.test-matrix) }}
runs-on: ${{ matrix.runs_on }}
timeout-minutes: 100
env:
KERNEL: ${{ matrix.kernel }}
REPO_ROOT: ${{ github.workspace }}
REPO_PATH: ""
steps:
- uses: actions/checkout@main
- uses: actions/download-artifact@v3
with:
name: vmlinux-${{ matrix.arch }}-${{ matrix.toolchain }}
path: .
- name: Untar artifacts
run: tar -xzf vmlinux-${{ matrix.arch }}-${{ matrix.toolchain }}.tar.gz
- name: Prepare rootfs
uses: chantra/ci/prepare-rootfs@aarch64_img
with:
project-name: 'libbpf'
arch: ${{ matrix.arch }}
kernel: ${{ matrix.kernel }}
kernel-root: '.'
image-output: '/tmp/root.img'
test: ${{ matrix.test }}
- name: Run selftests
uses: chantra/ci/run-qemu@aarch64_img
with:
arch: ${{ matrix.arch}}
img: '/tmp/root.img'
vmlinuz: '${{ github.workspace }}/vmlinuz'
kernel-root: '.'
165 changes: 0 additions & 165 deletions Documentation/RCU/arrayRCU.rst

This file was deleted.

Loading