Conversation
4eea5de to
467b70f
Compare
|
Fixing missing |
c8f28e0 to
26e0135
Compare
|
Looking at the timing differences between build-arm64 and build-riscv64: Overall: riscv64 is ~10-11x slower than arm64 across the board. Key metrics:
Top bottlenecks on riscv64:
Wall-clock for key build steps:
The slowdown is remarkably uniform at ~10-12x for compilation. The outliers (25-42x) tend to be tiny packages where the ratio is amplified by fixed overhead. The user time tracks closely with real time, confirming this is CPU-bound work, not I/O. |
|
I'm also adding |
riscv64 CI Failure ClassificationRun: https://github.com/luhenry/k3s/actions/runs/23554260675 Every failure is riscv64-only — all amd64 and arm64 jobs passed. Category 1: Missing
|
| Job | Error |
|---|---|
| hardened | Unable to find image 'rancher/systemd-node:v0.0.8' |
| autoimport | Unable to find image 'rancher/systemd-node:v0.0.8' |
| snapshotrestore | Unable to find image 'rancher/systemd-node:v0.0.8' |
| dualstack | Unable to find image 'rancher/systemd-node:v0.0.8' |
| svcpoliciesandfirewall | Unable to find image 'rancher/systemd-node:v0.0.8' |
| secretsencryption | Unable to find image 'rancher/systemd-node:v0.0.8' |
| token | Unable to find image 'rancher/systemd-node:v0.0.8' |
Category 2: Missing rancher/k3s release images for riscv64 (2 jobs)
| Job | Error |
|---|---|
| skew | Unable to find image 'rancher/k3s:v1.34.5-k3s1' |
| upgrade | Unable to find image 'rancher/k3s:v1.35.2-k3s1' |
These tests need prior K3s release images which aren't published for riscv64.
Category 3: Missing rancher/mirrored-pause:3.6 image for riscv64 (4 jobs)
The rancher/mirrored-pause:3.6 manifest has no riscv64 platform entry (no match for platform in manifest: not found). This prevents any pod sandbox from starting, which causes coredns (and all other pods) to never come up, ultimately hitting the test timeout.
| Job | Error |
|---|---|
| etcd | Timed out after 120.000s — failed to pull image "rancher/mirrored-pause:3.6": no match for platform in manifest: not found |
| basics | Timed out after 180.001s — failed to pull image "rancher/mirrored-pause:3.6": no match for platform in manifest: not found |
| bootstraptoken | Timed out after 120.000s — failed to pull image "rancher/mirrored-pause:3.6": no match for platform in manifest: not found |
| cacerts | failed to run command: docker run ... rancher/mirrored-pause:3.6, exit status 125 |
Category 5: Nix not supported on riscv64 (1 job)
| Job | Error |
|---|---|
| nixsnapshotter | ArchOs (RISCV64-Linux) doesn't map to a supported Nix platform |
Workaround: Disable nix jobs like on arm64
Category 6: Test setup issue — bind mount path doesn't exist (1 job)
| Job | Error |
|---|---|
| lazypull | bind source path does not exist: /tmp/k3s-test-4264788357/server-0.yaml |
Fix: riseproject-dev/riscv-runner-app@1fea2f7
Summary
| Root Cause | Jobs |
|---|---|
Missing rancher/systemd-node:v0.0.8 riscv64 image |
7 |
Missing rancher/mirrored-pause:3.6 riscv64 platform in manifest |
4 |
Missing rancher/k3s prior release images for riscv64 |
2 |
| Nix doesn't support riscv64 | 1 |
| Test setup bug (config file not created before bind mount) | 1 |
|
From my observation, compiling |
@shanduur this is building on native RISC-V hardware, so no QEMU involved. |
Proposed Changes
Types of Changes
Verification
Testing
Linked Issues
User-Facing Change
Further Comments
cc @pgonin