fix(fuse) support FUSE submounts and fix virtiofs mount semantics #674
Workflow file for this run
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
| name: Test MM (Host) | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: ["master", "feat-*", "fix-*"] | |
| paths: | |
| - "kernel/src/mm/**" | |
| - "kernel/src/arch/**/mm/**" | |
| - "kernel/crates/rust-slabmalloc/**" | |
| pull_request: | |
| branches: ["master", "feat-*", "fix-*"] | |
| paths: | |
| - "kernel/src/mm/**" | |
| - "kernel/src/arch/**/mm/**" | |
| - "kernel/crates/rust-slabmalloc/**" | |
| env: | |
| HOME: /root | |
| RUSTUP_DIST_SERVER: "https://rsproxy.cn" | |
| RUSTUP_UPDATE_ROOT: "https://rsproxy.cn/rustup" | |
| jobs: | |
| build: | |
| name: Build slab_stress (host) | |
| runs-on: ubuntu-latest | |
| container: | |
| image: dragonos/dragonos-dev:v1.23 | |
| options: --privileged -v /dev:/dev | |
| steps: | |
| - name: Checkout DragonOS code | |
| uses: actions/checkout@v4 | |
| - name: Build slab_stress (host) | |
| shell: bash -ileo pipefail {0} | |
| run: | | |
| cd kernel/crates/rust-slabmalloc | |
| cargo build --release --features host --bin slab_stress | |
| - name: Upload slab_stress binary | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: slab_stress-binary-${{ github.run_id }}-${{ github.run_attempt }} | |
| path: kernel/target/release/slab_stress | |
| retention-days: 1 | |
| slab-valgrind-stress: | |
| name: Slab allocator long-run (valgrind) - size=${{ matrix.size }}, seed=${{ matrix.seed }} | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| needs: build | |
| strategy: | |
| matrix: | |
| size: [64, 128, 255, 256] | |
| seed: [1, 2, 3] | |
| container: | |
| image: dragonos/dragonos-dev:v1.23 | |
| options: --privileged -v /dev:/dev | |
| steps: | |
| - name: Checkout DragonOS code | |
| uses: actions/checkout@v4 | |
| - name: Install valgrind | |
| shell: bash -ileo pipefail {0} | |
| run: | | |
| apt-get update | |
| apt-get install -y valgrind | |
| - name: Download slab_stress binary | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: slab_stress-binary-${{ github.run_id }}-${{ github.run_attempt }} | |
| path: /tmp | |
| - name: Run slab_stress under valgrind | |
| shell: bash -ileo pipefail {0} | |
| env: | |
| SLAB_STRESS_ITERS: "2000000" | |
| SLAB_STRESS_SIZE: "${{ matrix.size }}" | |
| SLAB_STRESS_SEED: "${{ matrix.seed }}" | |
| run: | | |
| chmod +x /tmp/slab_stress | |
| valgrind \ | |
| -s \ | |
| --error-exitcode=1 \ | |
| --track-origins=yes \ | |
| --leak-check=full \ | |
| --show-leak-kinds=all \ | |
| --malloc-fill=0xAA --free-fill=0xDD \ | |
| /tmp/slab_stress \ | |
| --iters "${SLAB_STRESS_ITERS}" \ | |
| --max-live 4096 \ | |
| --size "${SLAB_STRESS_SIZE}" \ | |
| --seed "${SLAB_STRESS_SEED}" |