ci: Test s390x with qemu-user rather than qemu-system#5210
Merged
Conversation
Since [1], s390x has been an exception in that it runs in system mode rather than user mode. The reason cited at that PR is that the s390x user-mode qemu could not run rust-built binaries, which has long since no longer been true (the PR is from 2017). There may be some arguments in favor of running in system mode, such as having better control over kernel version than what GHA+Docker gives us. However, the time cost is high and the benefit isn't huge, and it certainly doesn't make sense to run only a single target in system mode. Thus, switch to user mode to match other targets. Closes: rust-lang#829 [1]: rust-lang#820
This platform used to be pretty slow when it was run with qemu-system. Since it now uses qemu-user, move it back with everything else.
tgross35
enabled auto-merge
June 24, 2026 06:47
tgross35
added a commit
to tgross35/rust-libc
that referenced
this pull request
Jul 20, 2026
Since [1], s390x has been an exception in that it runs in system mode rather than user mode. The reason cited at that PR is that the s390x user-mode qemu could not run rust-built binaries, which has long since no longer been true (the PR is from 2017). There may be some arguments in favor of running in system mode, such as having better control over kernel version than what GHA+Docker gives us. However, the time cost is high and the benefit isn't huge, and it certainly doesn't make sense to run only a single target in system mode. Thus, switch to user mode to match other targets. Closes: rust-lang#829 [1]: rust-lang#820 (backport <rust-lang#5210>) (cherry picked from commit 5dba84e)
tgross35
added a commit
to tgross35/rust-libc
that referenced
this pull request
Jul 20, 2026
This platform used to be pretty slow when it was run with qemu-system. Since it now uses qemu-user, move it back with everything else. (backport <rust-lang#5210>) (cherry picked from commit 6385091)
tgross35
added a commit
to tgross35/rust-libc
that referenced
this pull request
Jul 20, 2026
Since [1], s390x has been an exception in that it runs in system mode rather than user mode. The reason cited at that PR is that the s390x user-mode qemu could not run rust-built binaries, which has long since no longer been true (the PR is from 2017). There may be some arguments in favor of running in system mode, such as having better control over kernel version than what GHA+Docker gives us. However, the time cost is high and the benefit isn't huge, and it certainly doesn't make sense to run only a single target in system mode. Thus, switch to user mode to match other targets. Closes: rust-lang#829 [1]: rust-lang#820 (backport <rust-lang#5210>) (cherry picked from commit 5dba84e)
tgross35
added a commit
to tgross35/rust-libc
that referenced
this pull request
Jul 20, 2026
This platform used to be pretty slow when it was run with qemu-system. Since it now uses qemu-user, move it back with everything else. (backport <rust-lang#5210>) (cherry picked from commit 6385091)
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since 1, s390x has been an exception in that it runs in system mode rather than user mode. The reason cited at that PR is that the s390x user-mode qemu could not run rust-built binaries, which has long since no longer been true (the PR is from 2017).
There may be some arguments in favor of running in system mode, such as having better control over kernel version than what GHA+Docker gives us. However, the time cost is high and the benefit isn't huge, and it certainly doesn't make sense to run only a single target in system mode. Thus, switch to user mode to match other targets.
Closes: #829