PM: sleep: Do not flag runtime PM workqueue as freezable #5051
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-License-Identifier: GPL-2.0-or-later | |
| # | |
| # Copyright (c) 2025 Western Digital Corporation or its affiliates. | |
| # | |
| # Authors: Dennis Maisenbacher ([email protected]) | |
| name: Run blktests | |
| on: | |
| pull_request: | |
| concurrency: | |
| group: ci-test-${{ github.ref_name }} | |
| env: | |
| KERNEL_REF: "${{ github.event.pull_request.head.sha }}" | |
| KERNEL_TREE: "https://github.com/${{ github.repository }}" | |
| #This workflow requires an actions-runner-controllers (ARC) to be active. | |
| #The k8s cluster of this ARC needs KubeVirt to be installed. | |
| jobs: | |
| build-and-test-kernel: | |
| #This step runs in a container in the k8s cluster | |
| runs-on: arc-vm-linux-blktests | |
| steps: | |
| - name: Checkout blktests-ci | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: linux-blktests/blktests-ci | |
| path: blktests-ci | |
| - name: Build kernel and package it into a containerimage | |
| run: | | |
| cd blktests-ci/playbooks/roles/kernel-builder-k8s-job/templates | |
| docker build \ | |
| --build-arg KERNEL_TREE=${KERNEL_TREE} \ | |
| --build-arg KERNEL_REF=${KERNEL_REF} \ | |
| -t linux-kernel-containerdisk \ | |
| -f Dockerfile.linux-kernel-containerdisk . 2>&1 | tee build.log | |
| #Setting KERNEL_VERSION var which is latern needed for notifying the VM what kernel to pick up | |
| cat build.log | grep KERNEL_VERSION | awk '{print $3}' | grep KERNEL_VERSION >> $GITHUB_ENV | |
| - name: Push the new Fedora containerimage with the freshly build kernel | |
| run: | | |
| docker tag linux-kernel-containerdisk registry-service.docker-registry.svc.cluster.local/linux-kernel-containerdisk:${KERNEL_VERSION} | |
| docker push registry-service.docker-registry.svc.cluster.local/linux-kernel-containerdisk:${KERNEL_VERSION} | |
| - name: Run in VM | |
| uses: ./blktests-ci/.github/actions/kubevirt-action | |
| with: | |
| kernel_version: ${{ env.KERNEL_VERSION }} | |
| vm_artifact_upload_dir: blktests/results | |
| run_cmds: | | |
| #Print VM debug info | |
| uname -a | |
| cat /etc/os-release | |
| lsblk | |
| #Install build dependencies for blktests | |
| sudo dnf install -y gcc \ | |
| clang \ | |
| make \ | |
| util-linux \ | |
| llvm \ | |
| gawk \ | |
| fio \ | |
| udev \ | |
| kmod \ | |
| coreutils \ | |
| gcc \ | |
| gzip \ | |
| e2fsprogs \ | |
| xfsprogs \ | |
| f2fs-tools \ | |
| btrfs-progs \ | |
| device-mapper-multipath \ | |
| blktrace \ | |
| kernel-headers \ | |
| liburing \ | |
| liburing-devel \ | |
| nbd \ | |
| device-mapper \ | |
| ktls-utils \ | |
| dosfstools \ | |
| bc \ | |
| libnl3-cli \ | |
| cryptsetup \ | |
| sg3_utils \ | |
| pciutils \ | |
| unzip \ | |
| jq \ | |
| nvme-cli \ | |
| git \ | |
| wget \ | |
| pkgconf \ | |
| libudev-devel | |
| git clone https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git | |
| cd mdadm | |
| git checkout d764c4829947923142a83251296d04edaee7d2f7 | |
| make -j$(nproc) | |
| sudo make install | |
| cd - | |
| git clone https://github.com/linux-blktests/blktests.git | |
| cd blktests | |
| git checkout ci | |
| make | |
| #ATTENTION! This section formats all available NVMe devices. Be careful when changing the `runs-on` tag! | |
| #This step runs in a VM with the previously compiled kernel in the k8s cluster | |
| rm -f all_failures | |
| # Run blktests block group | |
| cat > config << EOF | |
| TEST_DEVS=(${BDEV0}) | |
| EOF | |
| export RUN_ZONED_TESTS=1 | |
| sudo ./check block | |
| test -f results/failures && cat results/failures >> all_failures | |
| # Run blktests nvme group | |
| #cat > config << EOF | |
| #TEST_DEVS=(${BDEV0}) | |
| #NVMET_TRTYPES="loop rdma" | |
| #EXCLUDE=(nvme/014 nvme/038 nvme/057 nvme/058) | |
| #EOF | |
| #sudo ./check nvme | |
| #test -f results/failures && cat results/failures >> all_failures | |
| # Run blktests scsi group | |
| cat > config << EOF | |
| TEST_DEVS=() | |
| export RUN_ZONED_TESTS=1 | |
| EOF | |
| sudo ./check scsi | |
| test -f results/failures && cat results/failures >> all_failures | |
| # Run blktests misc groups | |
| cat > config << EOF | |
| TEST_DEVS=() | |
| EOF | |
| sudo ./check dm loop md throtl ublk | |
| test -f results/failures && cat results/failures >> all_failures | |
| # Run ZBD blktests without TEST_DEVS | |
| cat > config << EOF | |
| TEST_DEVS=() | |
| EXCLUDE=(zbd/009) | |
| EOF | |
| export RUN_ZONED_TESTS=1 | |
| sudo ./check zbd | |
| test -f results/failures && cat results/failures >> all_failures | |
| # Run ZBD blktests with TEST_DEVS | |
| cat > config << EOF | |
| TEST_DEVS=(${ZBD0}) | |
| DEVICE_ONLY=1 | |
| EOF | |
| export RUN_ZONED_TESTS=1 | |
| sudo ./check zbd | |
| test -f results/failures && cat results/failures >> all_failures | |
| # Run blktests srp group | |
| #cat > config << EOF | |
| #TEST_DEVS=() | |
| #EOF | |
| #sudo ./check srp | |
| #test -f results/failures && cat results/failures >> all_failures | |
| # Mark blktests completion for KPD report | |
| echo "KPD: blktests completed" | |
| # Output failures for KPD report | |
| test -f all_failures && echo "KPD: Failures:" && cat all_failures | |
| test -f all_failures && exit 1 | |
| exit 0 |