* [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts
@ 2023-03-03 10:14 Thomas Huth
2023-03-03 10:14 ` [PATCH v3 1/6] docs/about/deprecated: Deprecate 32-bit x86 hosts Thomas Huth
` (5 more replies)
0 siblings, 6 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
We're struggling quite badly with our CI minutes on the shared
gitlab runners, so we urgently need to think of ways to cut down
our supported build and target environments. qemu-system-i386 and
qemu-system-arm are not really required anymore, since nobody uses
KVM on the corresponding systems for production anymore, and the
-x86_64 and -arch64 variants are a proper superset of those binaries.
So it's time to deprecate them and the corresponding 32-bit host
environments now (32-bit arm for system emulation, and 32-bit x86
completely).
This is a follow-up patch series from the previous discussion here:
https://lore.kernel.org/qemu-devel/20230130114428.1297295-1-thuth@redhat.com/
where people still mentioned that there is still interest in certain
support for 32-bit host hardware. But as far as I could see, there is
no real need for 32-bit x86 host support and for system emulation on
32-bit arm hosts anymore, so it should be fine if we drop these host
environments soon (these are also the two architectures that contribute
the most to the long test times in our CI, so we would benefit a lot by
dropping those).
v3:
- Update some commit descriptions according to the suggestions in v2
- Added the Reviewed-bys from v2
v2:
- Split binary and host deprecation into separate patches
- Added patches to immediately drop the jobs from the CI
Thomas Huth (6):
docs/about/deprecated: Deprecate 32-bit x86 hosts
docs/about/deprecated: Deprecate the qemu-system-i386 binary
gitlab-ci.d/crossbuilds: Drop the i386 jobs
docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation
docs/about/deprecated: Deprecate the qemu-system-arm binary
gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs
docs/about/deprecated.rst | 43 ++++++++++++++++++++++++++++++++++++
.gitlab-ci.d/crossbuilds.yml | 34 ----------------------------
2 files changed, 43 insertions(+), 34 deletions(-)
--
2.31.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v3 1/6] docs/about/deprecated: Deprecate 32-bit x86 hosts
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:14 ` [PATCH v3 2/6] docs/about/deprecated: Deprecate the qemu-system-i386 binary Thomas Huth
` (4 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
Hardly anybody still uses 32-bit x86 hosts today, so we should start
deprecating them to stop wasting our time and CI minutes here.
For example, there are also still some unresolved problems with these:
When emulating 64-bit binaries in user mode, TCG does not honor atomicity
for 64-bit accesses, which is "perhaps worse than not working at all"
(quoting Richard). Let's simply make it clear that people should use
64-bit x86 hosts nowadays and we do not intend to fix/maintain the old
32-bit stuff.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/about/deprecated.rst | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 15084f7bea..f0c1e6b545 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -196,6 +196,18 @@ CI coverage support may bitrot away before the deprecation process
completes. The little endian variants of MIPS (both 32 and 64 bit) are
still a supported host architecture.
+32-bit x86 hosts (since 8.0)
+''''''''''''''''''''''''''''
+
+Support for 32-bit x86 host deployments is increasingly uncommon in
+mainstream OS distributions given the widespread availability of 64-bit
+x86 hardware. The QEMU project no longer considers 32-bit x86 support
+to be an effective use of its limited resources, and thus intends to
+discontinue it. Since all recent x86 hardware from the past >10 years
+is capable of the 64-bit x86 extensions, a corresponding 64-bit OS
+should be used instead.
+
+
QEMU API (QAPI) events
----------------------
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 2/6] docs/about/deprecated: Deprecate the qemu-system-i386 binary
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
2023-03-03 10:14 ` [PATCH v3 1/6] docs/about/deprecated: Deprecate 32-bit x86 hosts Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:14 ` [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs Thomas Huth
` (3 subsequent siblings)
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
Aside from not supporting KVM on 32-bit hosts, the qemu-system-x86_64
binary is a proper superset of the qemu-system-i386 binary. With the
32-bit host support being deprecated, it is now also possible to
deprecate the qemu-system-i386 binary.
With regards to 32-bit KVM support in the x86 Linux kernel,
the developers confirmed that they do not need a recent
qemu-system-i386 binary here:
https://lore.kernel.org/kvm/Y%2ffkTs5ajFy0hP1U@google.com/
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/about/deprecated.rst | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index f0c1e6b545..a30aa8dfdf 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -34,6 +34,18 @@ deprecating the build option and no longer defend it in CI. The
``--enable-gcov`` build option remains for analysis test case
coverage.
+``qemu-system-i386`` binary (since 8.0)
+'''''''''''''''''''''''''''''''''''''''
+
+The ``qemu-system-i386`` binary was mainly useful for running with KVM
+on 32-bit x86 hosts, but most Linux distributions already removed their
+support for 32-bit x86 kernels, so hardly anybody still needs this. The
+``qemu-system-x86_64`` binary is a proper superset and can be used to
+run 32-bit guests by selecting a 32-bit CPU model, including KVM support
+on x86_64 hosts. Thus users are recommended to reconfigure their systems
+to use the ``qemu-system-x86_64`` binary instead.
+
+
System emulator command line arguments
--------------------------------------
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
2023-03-03 10:14 ` [PATCH v3 1/6] docs/about/deprecated: Deprecate 32-bit x86 hosts Thomas Huth
2023-03-03 10:14 ` [PATCH v3 2/6] docs/about/deprecated: Deprecate the qemu-system-i386 binary Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:21 ` Philippe Mathieu-Daudé
2023-03-03 10:14 ` [PATCH v3 4/6] docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation Thomas Huth
` (2 subsequent siblings)
5 siblings, 1 reply; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
Hardly anybody still uses 32-bit x86 environments for running QEMU,
so let's stop wasting our scarce CI minutes with these jobs.
(There are still the 32-bit MinGW and TCI jobs around for having
some compile test coverage on 32-bit, and the dockerfile can stay
in case someone wants to reproduce a flaw locally)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/crossbuilds.yml | 20 --------------------
1 file changed, 20 deletions(-)
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index d3a31a2112..b96439146f 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -43,26 +43,6 @@ cross-arm64-user:
variables:
IMAGE: debian-arm64-cross
-cross-i386-system:
- extends:
- - .cross_system_build_job
- - .cross_test_artifacts
- needs:
- job: i386-fedora-cross-container
- variables:
- IMAGE: fedora-i386-cross
- MAKE_CHECK_ARGS: check-qtest
-
-cross-i386-user:
- extends:
- - .cross_user_build_job
- - .cross_test_artifacts
- needs:
- job: i386-fedora-cross-container
- variables:
- IMAGE: fedora-i386-cross
- MAKE_CHECK_ARGS: check
-
cross-i386-tci:
extends:
- .cross_accel_build_job
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 4/6] docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
` (2 preceding siblings ...)
2023-03-03 10:14 ` [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:14 ` [PATCH v3 5/6] docs/about/deprecated: Deprecate the qemu-system-arm binary Thomas Huth
2023-03-03 10:14 ` [PATCH v3 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs Thomas Huth
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
For running QEMU in system emulation mode, the user needs a rather
strong host system, i.e. not only an embedded low-frequency controller.
All recent beefy arm host machines should support 64-bit now, it's
unlikely that anybody is still seriously using QEMU on a 32-bit arm
CPU, so we deprecate the 32-bit arm hosts here to finally save use
some time and precious CI minutes.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/about/deprecated.rst | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index a30aa8dfdf..e2e908f84d 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -219,6 +219,15 @@ discontinue it. Since all recent x86 hardware from the past >10 years
is capable of the 64-bit x86 extensions, a corresponding 64-bit OS
should be used instead.
+System emulation on 32-bit arm hosts (since 8.0)
+''''''''''''''''''''''''''''''''''''''''''''''''
+
+Since QEMU needs a strong host machine for running full system emulation, and
+all recent powerful arm hosts support 64-bit, the QEMU project deprecates the
+support for running any system emulation on 32-bit arm hosts in general. Use
+64-bit arm hosts for system emulation instead. (Note: "user" mode emulation
+continuous to be supported on 32-bit arm hosts, too)
+
QEMU API (QAPI) events
----------------------
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 5/6] docs/about/deprecated: Deprecate the qemu-system-arm binary
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
` (3 preceding siblings ...)
2023-03-03 10:14 ` [PATCH v3 4/6] docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
2023-03-03 10:14 ` [PATCH v3 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs Thomas Huth
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
qemu-system-aarch64 is a proper superset of qemu-system-arm,
and the latter was mainly still required for 32-bit KVM support.
But this 32-bit KVM arm support has been dropped in the Linux
kernel a couple of years ago already, so we don't really need
qemu-system-arm anymore, thus deprecated it now.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
docs/about/deprecated.rst | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index e2e908f84d..1b7b3da309 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support
on x86_64 hosts. Thus users are recommended to reconfigure their systems
to use the ``qemu-system-x86_64`` binary instead.
+``qemu-system-arm`` binary (since 8.0)
+''''''''''''''''''''''''''''''''''''''
+
+``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. The
+latter was mainly a requirement for running KVM on 32-bit arm hosts, but
+this 32-bit KVM support has been removed three years ago already (see:
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=541ad0150ca4
+). Thus the QEMU project will drop the ``qemu-system-arm`` binary in a
+future release. Use ``qemu-system-aarch64`` instead.
+
System emulator command line arguments
--------------------------------------
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v3 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
` (4 preceding siblings ...)
2023-03-03 10:14 ` [PATCH v3 5/6] docs/about/deprecated: Deprecate the qemu-system-arm binary Thomas Huth
@ 2023-03-03 10:14 ` Thomas Huth
5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2023-03-03 10:14 UTC (permalink / raw
To: qemu-devel, Peter Maydell, Daniel Berrange, Paolo Bonzini
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
Hardly anybody still uses 32-bit arm environments for running QEMU,
so let's stop wasting our scarce CI minutes with these jobs.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
.gitlab-ci.d/crossbuilds.yml | 14 --------------
1 file changed, 14 deletions(-)
diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index b96439146f..d1feca9f9f 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,13 +1,6 @@
include:
- local: '/.gitlab-ci.d/crossbuild-template.yml'
-cross-armel-system:
- extends: .cross_system_build_job
- needs:
- job: armel-debian-cross-container
- variables:
- IMAGE: debian-armel-cross
-
cross-armel-user:
extends: .cross_user_build_job
needs:
@@ -15,13 +8,6 @@ cross-armel-user:
variables:
IMAGE: debian-armel-cross
-cross-armhf-system:
- extends: .cross_system_build_job
- needs:
- job: armhf-debian-cross-container
- variables:
- IMAGE: debian-armhf-cross
-
cross-armhf-user:
extends: .cross_user_build_job
needs:
--
2.31.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
2023-03-03 10:14 ` [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs Thomas Huth
@ 2023-03-03 10:21 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-03-03 10:21 UTC (permalink / raw
To: Thomas Huth, qemu-devel, Peter Maydell, Daniel Berrange,
Paolo Bonzini, Laurent Vivier
Cc: Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
Wilfred Mallawa
On 3/3/23 11:14, Thomas Huth wrote:
> Hardly anybody still uses 32-bit x86 environments for running QEMU,
> so let's stop wasting our scarce CI minutes with these jobs.
>
> (There are still the 32-bit MinGW and TCI jobs around for having
> some compile test coverage on 32-bit, and the dockerfile can stay
> in case someone wants to reproduce a flaw locally)
>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> .gitlab-ci.d/crossbuilds.yml | 20 --------------------
> 1 file changed, 20 deletions(-)
>
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index d3a31a2112..b96439146f 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -43,26 +43,6 @@ cross-arm64-user:
> variables:
> IMAGE: debian-arm64-cross
>
> -cross-i386-system:
> - extends:
> - - .cross_system_build_job
> - - .cross_test_artifacts
> - needs:
> - job: i386-fedora-cross-container
> - variables:
> - IMAGE: fedora-i386-cross
> - MAKE_CHECK_ARGS: check-qtest
> -
> -cross-i386-user:
> - extends:
> - - .cross_user_build_job
> - - .cross_test_artifacts
> - needs:
> - job: i386-fedora-cross-container
> - variables:
> - IMAGE: fedora-i386-cross
> - MAKE_CHECK_ARGS: check
The cross-i386-user job might require an Ack from Laurent,
so cc'ing him.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2023-03-03 10:22 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-03 10:14 [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
2023-03-03 10:14 ` [PATCH v3 1/6] docs/about/deprecated: Deprecate 32-bit x86 hosts Thomas Huth
2023-03-03 10:14 ` [PATCH v3 2/6] docs/about/deprecated: Deprecate the qemu-system-i386 binary Thomas Huth
2023-03-03 10:14 ` [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs Thomas Huth
2023-03-03 10:21 ` Philippe Mathieu-Daudé
2023-03-03 10:14 ` [PATCH v3 4/6] docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation Thomas Huth
2023-03-03 10:14 ` [PATCH v3 5/6] docs/about/deprecated: Deprecate the qemu-system-arm binary Thomas Huth
2023-03-03 10:14 ` [PATCH v3 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs Thomas Huth
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).