Skip to content

ci: Test s390x with qemu-user rather than qemu-system#5210

Merged
tgross35 merged 2 commits into
rust-lang:mainfrom
tgross35:s390x-qemu-user
Jun 24, 2026
Merged

ci: Test s390x with qemu-user rather than qemu-system#5210
tgross35 merged 2 commits into
rust-lang:mainfrom
tgross35:s390x-qemu-user

Conversation

@tgross35

Copy link
Copy Markdown
Contributor

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

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
@rustbot rustbot added A-CI Area: CI-related items S-waiting-on-review labels Jun 24, 2026
@tgross35 tgross35 added the stable-nominated This PR should be considered for cherry-pick to libc's stable release branch label Jun 24, 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.
@tgross35
tgross35 enabled auto-merge June 24, 2026 06:47
@tgross35
tgross35 added this pull request to the merge queue Jun 24, 2026
Merged via the queue into rust-lang:main with commit 6385091 Jun 24, 2026
54 checks passed
@tgross35
tgross35 deleted the s390x-qemu-user branch June 24, 2026 07:24
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 was referenced Jul 20, 2026
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 tgross35 added stable-applied This PR has been cherry-picked to libc's stable release branch and removed stable-nominated This PR should be considered for cherry-pick to libc's stable release branch labels Jul 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: CI-related items stable-applied This PR has been cherry-picked to libc's stable release branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prefer using qemu system instead of qemu user

2 participants