All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
@ 2023-02-27 11:10 Thomas Huth
  2023-02-27 11:10 ` [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386 Thomas Huth
                   ` (2 more replies)
  0 siblings, 3 replies; 37+ messages in thread
From: Thomas Huth @ 2023-02-27 11:10 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,
	Michael S . Tsirkin, Marcel Apfelbaum

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.

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 host support for system emulation on x86 and
arm anymore, so it should be fine if we drop these host environments
now (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).

Thomas Huth (2):
  docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  docs/about: Deprecate 32-bit arm hosts and qemu-system-arm

 docs/about/deprecated.rst | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

-- 
2.31.1



^ permalink raw reply	[flat|nested] 37+ messages in thread

* [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 11:10 [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
@ 2023-02-27 11:10 ` Thomas Huth
  2023-02-27 11:50   ` Daniel P. Berrangé
  2023-02-27 11:10 ` [PATCH 2/2] docs/about: Deprecate 32-bit arm hosts and qemu-system-arm Thomas Huth
  2023-02-27 18:38 ` [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts Daniel P. Berrangé
  2 siblings, 1 reply; 37+ messages in thread
From: Thomas Huth @ 2023-02-27 11:10 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,
	Michael S . Tsirkin, Marcel Apfelbaum

Hardly anybody still uses 32-bit x86 hosts today, so we should
start deprecating them to finally have less test efforts.
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/

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 15084f7bea..98517f5187 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -196,6 +196,19 @@ 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 and ``qemu-system-i386`` (since 8.0)
+'''''''''''''''''''''''''''''''''''''''''''''''''''''
+
+Testing 32-bit x86 host OS support takes a lot of precious time during the
+QEMU contiguous integration tests, and considering that most OS vendors
+stopped shipping 32-bit variants of their x86 OS distributions and most
+x86 hardware from the past >10 years is capable of 64-bit, keeping the
+32-bit support alive is an inadequate burden for the QEMU project. Thus
+QEMU will soon drop the support for 32-bit x86 host systems and the
+``qemu-system-i386`` binary. Use ``qemu-system-x86_64`` (which is a proper
+superset of ``qemu-system-i386``) on a 64-bit host machine instead.
+
+
 QEMU API (QAPI) events
 ----------------------
 
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 37+ messages in thread

* [PATCH 2/2] docs/about: Deprecate 32-bit arm hosts and qemu-system-arm
  2023-02-27 11:10 [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
  2023-02-27 11:10 ` [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386 Thomas Huth
@ 2023-02-27 11:10 ` Thomas Huth
  2023-02-27 18:38 ` [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts Daniel P. Berrangé
  2 siblings, 0 replies; 37+ messages in thread
From: Thomas Huth @ 2023-02-27 11:10 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,
	Michael S . Tsirkin, Marcel Apfelbaum

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.

Additionally, it's quite unlikely that anybody is still running
full system emulation on a 32-bit arm host nowadays. All recent
strong arm host machines should support 64-bit now, so we also
deprecate the 32-bit hosts here to finally save some precious
minutes in our CI.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 98517f5187..a52e45b570 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -208,6 +208,23 @@ QEMU will soon drop the support for 32-bit x86 host systems and the
 ``qemu-system-i386`` binary. Use ``qemu-system-x86_64`` (which is a proper
 superset of ``qemu-system-i386``) on a 64-bit host machine instead.
 
+System emulation on 32-bit arm hosts and ``qemu-system-arm`` (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 some 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.
+
+Since you need a strong host machine for running full system emulation,
+and all recent strong hosts support 64-bit anyway, the QEMU project
+also 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] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 11:10 ` [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386 Thomas Huth
@ 2023-02-27 11:50   ` Daniel P. Berrangé
  2023-02-27 20:12     ` Michael S. Tsirkin
  2023-02-27 20:25     ` Richard Henderson
  0 siblings, 2 replies; 37+ messages in thread
From: Daniel P. Berrangé @ 2023-02-27 11:50 UTC (permalink / raw)
  To: Thomas Huth
  Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk,
	Michael S . Tsirkin, Marcel Apfelbaum

On Mon, Feb 27, 2023 at 12:10:49PM +0100, Thomas Huth wrote:
> Hardly anybody still uses 32-bit x86 hosts today, so we should
> start deprecating them to finally have less test efforts.
> 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/
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  docs/about/deprecated.rst | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 15084f7bea..98517f5187 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -196,6 +196,19 @@ 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 and ``qemu-system-i386`` (since 8.0)
> +'''''''''''''''''''''''''''''''''''''''''''''''''''''
> +
> +Testing 32-bit x86 host OS support takes a lot of precious time during the
> +QEMU contiguous integration tests, and considering that most OS vendors
> +stopped shipping 32-bit variants of their x86 OS distributions and most
> +x86 hardware from the past >10 years is capable of 64-bit, keeping the
> +32-bit support alive is an inadequate burden for the QEMU project. Thus
> +QEMU will soon drop the support for 32-bit x86 host systems and the
> +``qemu-system-i386`` binary. Use ``qemu-system-x86_64`` (which is a proper
> +superset of ``qemu-system-i386``) on a 64-bit host machine instead.

I feel like we should have separate deprecation entries for the
i686 host support, and for qemu-system-i386 emulator binary, as
although they're related they are independant features with
differing impact. eg removing qemu-system-i386 affects all
host architectures, not merely 32-bit x86 host, so I think we
can explain the impact more clearly if we separate them.

How about something like....


32-bit x86 hosts
''''''''''''''''

Support for 32-bit x86 host deployments is increasingly uncommon in
mainstream Linux 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.

Current users of QEMU on 32-bit x86 hosts should either continue
using existing releases of QEMU, with the caveat that they will
no longer get security fixes, or migrate to a 64-bit platform
which remains capable of running 32-bit guests if needed.

``qemu-system-i386`` binary removal
'''''''''''''''''''''''''''''''''''

The ``qemu-system-x86_64`` binary can be used to run 32-bit guests
by selecting a 32-bit CPU model, including KVM support on x86_64
hosts. Once support for the 32-bit x86 host platform is discontinued,
the ``qemu-system-i386`` binary will be redundant. Current users are
recommended to reconfigure their systems to use the ``qemu-system-x86_64``
binary.



Same point for the next patch about 32-bit arm vs qemu-system-arm
binary.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
  2023-02-27 11:10 [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
  2023-02-27 11:10 ` [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386 Thomas Huth
  2023-02-27 11:10 ` [PATCH 2/2] docs/about: Deprecate 32-bit arm hosts and qemu-system-arm Thomas Huth
@ 2023-02-27 18:38 ` Daniel P. Berrangé
  2023-02-28  7:39   ` Thomas Huth
  2 siblings, 1 reply; 37+ messages in thread
From: Daniel P. Berrangé @ 2023-02-27 18:38 UTC (permalink / raw)
  To: Thomas Huth
  Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk,
	Michael S . Tsirkin, Marcel Apfelbaum

On Mon, Feb 27, 2023 at 12:10:48PM +0100, Thomas Huth wrote:
> 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.
> 
> 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 host support for system emulation on x86 and
> arm anymore, so it should be fine if we drop these host environments
> now (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).

Your description here is a little ambiguous about what's being
proposed. When you say dropping 32-bit host support do you mean
just for the system emulator binaries, or for QEMU entirely ?

And when the deprecation period is passed, are you proposing
to actively prevent 32-bit builds, or merely stopping CI testing
and leave 32-bit builds still working if people want them ?


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 11:50   ` Daniel P. Berrangé
@ 2023-02-27 20:12     ` Michael S. Tsirkin
  2023-02-27 20:21       ` Richard Henderson
                         ` (2 more replies)
  2023-02-27 20:25     ` Richard Henderson
  1 sibling, 3 replies; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-27 20:12 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
	Marcel Apfelbaum

On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
> I feel like we should have separate deprecation entries for the
> i686 host support, and for qemu-system-i386 emulator binary, as
> although they're related they are independant features with
> differing impact. eg removing qemu-system-i386 affects all
> host architectures, not merely 32-bit x86 host, so I think we
> can explain the impact more clearly if we separate them.

Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
a superset.

Removing support for building on 32 bit systems seems like a pity - it's
one of a small number of ways to run 64 bit binaries on 32 bit systems,
and the maintainance overhead is quite small.

In fact, keeping this support around forces correct use of
posix APIs such as e.g. PRIx64 which makes the code base
more future-proof.

-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 20:12     ` Michael S. Tsirkin
@ 2023-02-27 20:21       ` Richard Henderson
  2023-02-28  8:59         ` Michael S. Tsirkin
  2023-02-28  9:00         ` Michael S. Tsirkin
  2023-02-27 22:32       ` Philippe Mathieu-Daudé
  2023-02-28  7:49       ` Thomas Huth
  2 siblings, 2 replies; 37+ messages in thread
From: Richard Henderson @ 2023-02-27 20:21 UTC (permalink / raw)
  To: Michael S. Tsirkin, Daniel P. Berrangé
  Cc: Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On 2/27/23 10:12, Michael S. Tsirkin wrote:
> On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
>> I feel like we should have separate deprecation entries for the
>> i686 host support, and for qemu-system-i386 emulator binary, as
>> although they're related they are independant features with
>> differing impact. eg removing qemu-system-i386 affects all
>> host architectures, not merely 32-bit x86 host, so I think we
>> can explain the impact more clearly if we separate them.
> 
> Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
> a superset.
> 
> Removing support for building on 32 bit systems seems like a pity - it's
> one of a small number of ways to run 64 bit binaries on 32 bit systems,
> and the maintainance overhead is quite small.

It's not that small.  It only works for single-threaded system mode.  It silently does not 
honor atomicity for user-only mode, which is perhaps worse not working at all.


r~


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 11:50   ` Daniel P. Berrangé
  2023-02-27 20:12     ` Michael S. Tsirkin
@ 2023-02-27 20:25     ` Richard Henderson
  2023-02-28  7:52       ` Thomas Huth
  1 sibling, 1 reply; 37+ messages in thread
From: Richard Henderson @ 2023-02-27 20:25 UTC (permalink / raw)
  To: Daniel P. Berrangé, Thomas Huth
  Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	xen-devel, Reinoud Zandijk, Michael S . Tsirkin,
	Marcel Apfelbaum

On 2/27/23 01:50, Daniel P. Berrangé wrote:
> On Mon, Feb 27, 2023 at 12:10:49PM +0100, Thomas Huth wrote:
>> Hardly anybody still uses 32-bit x86 hosts today, so we should
>> start deprecating them to finally have less test efforts.
>> 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/
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   docs/about/deprecated.rst | 13 +++++++++++++
>>   1 file changed, 13 insertions(+)
>>
>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>> index 15084f7bea..98517f5187 100644
>> --- a/docs/about/deprecated.rst
>> +++ b/docs/about/deprecated.rst
>> @@ -196,6 +196,19 @@ 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 and ``qemu-system-i386`` (since 8.0)
>> +'''''''''''''''''''''''''''''''''''''''''''''''''''''
>> +
>> +Testing 32-bit x86 host OS support takes a lot of precious time during the
>> +QEMU contiguous integration tests, and considering that most OS vendors
>> +stopped shipping 32-bit variants of their x86 OS distributions and most
>> +x86 hardware from the past >10 years is capable of 64-bit, keeping the
>> +32-bit support alive is an inadequate burden for the QEMU project. Thus
>> +QEMU will soon drop the support for 32-bit x86 host systems and the
>> +``qemu-system-i386`` binary. Use ``qemu-system-x86_64`` (which is a proper
>> +superset of ``qemu-system-i386``) on a 64-bit host machine instead.
> 
> I feel like we should have separate deprecation entries for the
> i686 host support, and for qemu-system-i386 emulator binary, as
> although they're related they are independant features with
> differing impact.

Agreed.

> 32-bit x86 hosts
> ''''''''''''''''
> 
> Support for 32-bit x86 host deployments is increasingly uncommon in
> mainstream Linux 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.
> 
> Current users of QEMU on 32-bit x86 hosts should either continue
> using existing releases of QEMU, with the caveat that they will
> no longer get security fixes, or migrate to a 64-bit platform
> which remains capable of running 32-bit guests if needed.
Ack.

> 
> ``qemu-system-i386`` binary removal
> '''''''''''''''''''''''''''''''''''
> 
> The ``qemu-system-x86_64`` binary can be used to run 32-bit guests
> by selecting a 32-bit CPU model, including KVM support on x86_64
> hosts. Once support for the 32-bit x86 host platform is discontinued,
> the ``qemu-system-i386`` binary will be redundant.

Missing "kvm" in this last sentence?  It is otherwise untrue for tcg.


> Current users are
> recommended to reconfigure their systems to use the ``qemu-system-x86_64``
> binary.

Ack.

> Same point for the next patch about 32-bit arm vs qemu-system-arm
> binary.

Ack.


r~


^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 20:12     ` Michael S. Tsirkin
  2023-02-27 20:21       ` Richard Henderson
@ 2023-02-27 22:32       ` Philippe Mathieu-Daudé
  2023-02-28  7:43         ` Thomas Huth
  2023-02-28  7:49       ` Thomas Huth
  2 siblings, 1 reply; 37+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-02-27 22:32 UTC (permalink / raw)
  To: Michael S. Tsirkin, Daniel P. Berrangé
  Cc: Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
	Marcel Apfelbaum

On 27/2/23 21:12, Michael S. Tsirkin wrote:
> On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
>> I feel like we should have separate deprecation entries for the
>> i686 host support, and for qemu-system-i386 emulator binary, as
>> although they're related they are independant features with
>> differing impact. eg removing qemu-system-i386 affects all
>> host architectures, not merely 32-bit x86 host, so I think we
>> can explain the impact more clearly if we separate them.
> 
> Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
> a superset.

Doesn't qemu-system-i386 start the CPU in a different mode that
qemu-system-x86_64? Last time we discussed it, we mention adding
-32 and -64 CLI flags to maintain compat, and IIRC this flag would
add boot code to switch the CPU in 32-b. But then maybe I misunderstood.
Thomas said, "CPUs must start in the same mode they start in HW".

> Removing support for building on 32 bit systems seems like a pity - it's
> one of a small number of ways to run 64 bit binaries on 32 bit systems,
> and the maintainance overhead is quite small.
> 
> In fact, keeping this support around forces correct use of
> posix APIs such as e.g. PRIx64 which makes the code base
> more future-proof.
> 



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
  2023-02-27 18:38 ` [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts Daniel P. Berrangé
@ 2023-02-28  7:39   ` Thomas Huth
  2023-02-28  9:01     ` Daniel P. Berrangé
  0 siblings, 1 reply; 37+ messages in thread
From: Thomas Huth @ 2023-02-28  7:39 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk,
	Michael S . Tsirkin, Marcel Apfelbaum

On 27/02/2023 19.38, Daniel P. Berrangé wrote:
> On Mon, Feb 27, 2023 at 12:10:48PM +0100, Thomas Huth wrote:
>> 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.
>>
>> 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 host support for system emulation on x86 and
>> arm anymore, so it should be fine if we drop these host environments
>> now (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).
> 
> Your description here is a little ambiguous about what's being
> proposed. When you say dropping 32-bit host support do you mean
> just for the system emulator binaries, or for QEMU entirely ?

Just for system emulation. Some people said that user emulation still might 
be useful for some 32-bit environments.

> And when the deprecation period is passed, are you proposing
> to actively prevent 32-bit builds, or merely stopping CI testing
> and leave 32-bit builds still working if people want them ?

CI is the main pain point, so that's the most important thing. So whether we 
throw a warning or a hard error while configuring the build, I don't care 
too much.

  Thomas



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 22:32       ` Philippe Mathieu-Daudé
@ 2023-02-28  7:43         ` Thomas Huth
  0 siblings, 0 replies; 37+ messages in thread
From: Thomas Huth @ 2023-02-28  7:43 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, Michael S. Tsirkin, Daniel P. Berrangé
  Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On 27/02/2023 23.32, Philippe Mathieu-Daudé wrote:
> On 27/2/23 21:12, Michael S. Tsirkin wrote:
>> On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
>>> I feel like we should have separate deprecation entries for the
>>> i686 host support, and for qemu-system-i386 emulator binary, as
>>> although they're related they are independant features with
>>> differing impact. eg removing qemu-system-i386 affects all
>>> host architectures, not merely 32-bit x86 host, so I think we
>>> can explain the impact more clearly if we separate them.
>>
>> Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
>> a superset.
> 
> Doesn't qemu-system-i386 start the CPU in a different mode that
> qemu-system-x86_64? Last time we discussed it, we mention adding
> -32 and -64 CLI flags to maintain compat, and IIRC this flag would
> add boot code to switch the CPU in 32-b. But then maybe I misunderstood.
> Thomas said, "CPUs must start in the same mode they start in HW".

No, I think you misunderstood something here. x86 CPUs always start in 
16-bit mode, as far as I know, and the firmware / OS then has to switch to 
32-bit or 64-bit mode as desired.

  Thomas



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 20:12     ` Michael S. Tsirkin
  2023-02-27 20:21       ` Richard Henderson
  2023-02-27 22:32       ` Philippe Mathieu-Daudé
@ 2023-02-28  7:49       ` Thomas Huth
  2023-02-28  8:19         ` Michael S. Tsirkin
  2 siblings, 1 reply; 37+ messages in thread
From: Thomas Huth @ 2023-02-28  7:49 UTC (permalink / raw)
  To: Michael S. Tsirkin, Daniel P. Berrangé
  Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On 27/02/2023 21.12, Michael S. Tsirkin wrote:
> On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
>> I feel like we should have separate deprecation entries for the
>> i686 host support, and for qemu-system-i386 emulator binary, as
>> although they're related they are independant features with
>> differing impact. eg removing qemu-system-i386 affects all
>> host architectures, not merely 32-bit x86 host, so I think we
>> can explain the impact more clearly if we separate them.
> 
> Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
> a superset.
> 
> Removing support for building on 32 bit systems seems like a pity - it's
> one of a small number of ways to run 64 bit binaries on 32 bit systems,
> and the maintainance overhead is quite small.

Note: We're talking about 32-bit *x86* hosts here. Do you really think that 
someone is still using QEMU usermode emulation
to run 64-bit binaries on a 32-bit x86 host?? ... If so, I'd be very surprised!

> In fact, keeping this support around forces correct use of
> posix APIs such as e.g. PRIx64 which makes the code base
> more future-proof.

If you're concerned about PRIx64 and friends: We still continue to do 
compile testing with 32-bit MIPS cross-compilers and Windows 32-bit 
cross-compilers for now. The only thing we'd lose is the 32-bit "make check" 
run in the CI.

  Thomas



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 20:25     ` Richard Henderson
@ 2023-02-28  7:52       ` Thomas Huth
  0 siblings, 0 replies; 37+ messages in thread
From: Thomas Huth @ 2023-02-28  7:52 UTC (permalink / raw)
  To: Richard Henderson, Daniel P. Berrangé
  Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	xen-devel, Reinoud Zandijk, Michael S . Tsirkin,
	Marcel Apfelbaum

On 27/02/2023 21.25, Richard Henderson wrote:
> On 2/27/23 01:50, Daniel P. Berrangé wrote:
>> On Mon, Feb 27, 2023 at 12:10:49PM +0100, Thomas Huth wrote:
>>> Hardly anybody still uses 32-bit x86 hosts today, so we should
>>> start deprecating them to finally have less test efforts.
>>> 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/
>>>
>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>> ---
>>>   docs/about/deprecated.rst | 13 +++++++++++++
>>>   1 file changed, 13 insertions(+)
>>>
>>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>>> index 15084f7bea..98517f5187 100644
>>> --- a/docs/about/deprecated.rst
>>> +++ b/docs/about/deprecated.rst
>>> @@ -196,6 +196,19 @@ 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 and ``qemu-system-i386`` (since 8.0)
>>> +'''''''''''''''''''''''''''''''''''''''''''''''''''''
>>> +
>>> +Testing 32-bit x86 host OS support takes a lot of precious time during the
>>> +QEMU contiguous integration tests, and considering that most OS vendors
>>> +stopped shipping 32-bit variants of their x86 OS distributions and most
>>> +x86 hardware from the past >10 years is capable of 64-bit, keeping the
>>> +32-bit support alive is an inadequate burden for the QEMU project. Thus
>>> +QEMU will soon drop the support for 32-bit x86 host systems and the
>>> +``qemu-system-i386`` binary. Use ``qemu-system-x86_64`` (which is a proper
>>> +superset of ``qemu-system-i386``) on a 64-bit host machine instead.
>>
>> I feel like we should have separate deprecation entries for the
>> i686 host support, and for qemu-system-i386 emulator binary, as
>> although they're related they are independant features with
>> differing impact.
> 
> Agreed.

OK, fair, I'll rework my patch according to your suggestion, Daniel.

>> 32-bit x86 hosts
>> ''''''''''''''''
>>
>> Support for 32-bit x86 host deployments is increasingly uncommon in
>> mainstream Linux 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.
>>
>> Current users of QEMU on 32-bit x86 hosts should either continue
>> using existing releases of QEMU, with the caveat that they will
>> no longer get security fixes, or migrate to a 64-bit platform
>> which remains capable of running 32-bit guests if needed.
> Ack.
> 
>>
>> ``qemu-system-i386`` binary removal
>> '''''''''''''''''''''''''''''''''''
>>
>> The ``qemu-system-x86_64`` binary can be used to run 32-bit guests
>> by selecting a 32-bit CPU model, including KVM support on x86_64
>> hosts. Once support for the 32-bit x86 host platform is discontinued,
>> the ``qemu-system-i386`` binary will be redundant.
> 
> Missing "kvm" in this last sentence?  It is otherwise untrue for tcg.

I assume that Daniel only thought of 32-bit x86 hosts here, but indeed, it's 
untrue for non-x86 32-bit hosts. So this really should refer to KVM on 
32-bit x86 hosts instead. I'll rephrase it in v2.

  Thomas



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28  7:49       ` Thomas Huth
@ 2023-02-28  8:19         ` Michael S. Tsirkin
  2023-02-28  8:59           ` Daniel P. Berrangé
  0 siblings, 1 reply; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28  8:19 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Daniel P. Berrangé,
	qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On Tue, Feb 28, 2023 at 08:49:09AM +0100, Thomas Huth wrote:
> On 27/02/2023 21.12, Michael S. Tsirkin wrote:
> > On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
> > > I feel like we should have separate deprecation entries for the
> > > i686 host support, and for qemu-system-i386 emulator binary, as
> > > although they're related they are independant features with
> > > differing impact. eg removing qemu-system-i386 affects all
> > > host architectures, not merely 32-bit x86 host, so I think we
> > > can explain the impact more clearly if we separate them.
> > 
> > Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
> > a superset.
> > 
> > Removing support for building on 32 bit systems seems like a pity - it's
> > one of a small number of ways to run 64 bit binaries on 32 bit systems,
> > and the maintainance overhead is quite small.
> 
> Note: We're talking about 32-bit *x86* hosts here. Do you really think that
> someone is still using QEMU usermode emulation
> to run 64-bit binaries on a 32-bit x86 host?? ... If so, I'd be very surprised!

I don't know - why x86 specifically? One can build a 32 bit binary on any host.
I think 32 bit x86 environments are just more common in the cloud.

> > In fact, keeping this support around forces correct use of
> > posix APIs such as e.g. PRIx64 which makes the code base
> > more future-proof.
> 
> If you're concerned about PRIx64 and friends: We still continue to do
> compile testing with 32-bit MIPS cross-compilers and Windows 32-bit
> cross-compilers for now. The only thing we'd lose is the 32-bit "make check"
> run in the CI.
> 
>  Thomas

Yes - fundamentally 32 bit does not seem that different from e.g.
windows builds - we presumably support these but AFAIK CI does not
test these.


-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 20:21       ` Richard Henderson
@ 2023-02-28  8:59         ` Michael S. Tsirkin
  2023-02-28 12:26           ` Philippe Mathieu-Daudé
  2023-02-28  9:00         ` Michael S. Tsirkin
  1 sibling, 1 reply; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28  8:59 UTC (permalink / raw)
  To: Richard Henderson
  Cc: Daniel P. Berrangé,
	Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On Mon, Feb 27, 2023 at 10:21:14AM -1000, Richard Henderson wrote:
> On 2/27/23 10:12, Michael S. Tsirkin wrote:
> > On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
> > > I feel like we should have separate deprecation entries for the
> > > i686 host support, and for qemu-system-i386 emulator binary, as
> > > although they're related they are independant features with
> > > differing impact. eg removing qemu-system-i386 affects all
> > > host architectures, not merely 32-bit x86 host, so I think we
> > > can explain the impact more clearly if we separate them.
> > 
> > Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
> > a superset.
> > 
> > Removing support for building on 32 bit systems seems like a pity - it's
> > one of a small number of ways to run 64 bit binaries on 32 bit systems,
> > and the maintainance overhead is quite small.
> 
> It's not that small.  It only works for single-threaded system mode.  It
> silently does not honor atomicity for user-only mode, which is perhaps worse
> not working at all.

We should probably block multi-threading on 32 bit then.

-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28  8:19         ` Michael S. Tsirkin
@ 2023-02-28  8:59           ` Daniel P. Berrangé
  2023-02-28  9:03             ` Michael S. Tsirkin
  0 siblings, 1 reply; 37+ messages in thread
From: Daniel P. Berrangé @ 2023-02-28  8:59 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
	Marcel Apfelbaum

On Tue, Feb 28, 2023 at 03:19:20AM -0500, Michael S. Tsirkin wrote:
> On Tue, Feb 28, 2023 at 08:49:09AM +0100, Thomas Huth wrote:
> > On 27/02/2023 21.12, Michael S. Tsirkin wrote:
> > > On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
> > > > I feel like we should have separate deprecation entries for the
> > > > i686 host support, and for qemu-system-i386 emulator binary, as
> > > > although they're related they are independant features with
> > > > differing impact. eg removing qemu-system-i386 affects all
> > > > host architectures, not merely 32-bit x86 host, so I think we
> > > > can explain the impact more clearly if we separate them.
> > > 
> > > Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
> > > a superset.
> > > 
> > > Removing support for building on 32 bit systems seems like a pity - it's
> > > one of a small number of ways to run 64 bit binaries on 32 bit systems,
> > > and the maintainance overhead is quite small.
> > 
> > Note: We're talking about 32-bit *x86* hosts here. Do you really think that
> > someone is still using QEMU usermode emulation
> > to run 64-bit binaries on a 32-bit x86 host?? ... If so, I'd be very surprised!
> 
> I don't know - why x86 specifically? One can build a 32 bit binary on any host.
> I think 32 bit x86 environments are just more common in the cloud.

Can you point to anything that backs up that assertion. Clouds I've
seen always give you a 64-bit environment, and many OS no longer
even ship 32-bit installable media. I would be surprised if 32-bit
is above very very low single digits usage compared to x86_64.

> > > In fact, keeping this support around forces correct use of
> > > posix APIs such as e.g. PRIx64 which makes the code base
> > > more future-proof.
> > 
> > If you're concerned about PRIx64 and friends: We still continue to do
> > compile testing with 32-bit MIPS cross-compilers and Windows 32-bit
> > cross-compilers for now. The only thing we'd lose is the 32-bit "make check"
> > run in the CI.
> > 
> >  Thomas
> 
> Yes - fundamentally 32 bit does not seem that different from e.g.
> windows builds - we presumably support these but AFAIK CI does not
> test these.

We do compile test windows in CI via mingw, and we also do build
and unit tests via msys.

Even Windows has dropped 32-bit support though, and so the only
reason we keep 32-bit Windows around is because of Windows 10.
Once a Windows 12 comes along, we'll not need to support 32-bit
Windows either.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-27 20:21       ` Richard Henderson
  2023-02-28  8:59         ` Michael S. Tsirkin
@ 2023-02-28  9:00         ` Michael S. Tsirkin
  2023-02-28 16:57           ` Richard Henderson
  1 sibling, 1 reply; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28  9:00 UTC (permalink / raw)
  To: Richard Henderson
  Cc: Daniel P. Berrangé,
	Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On Mon, Feb 27, 2023 at 10:21:14AM -1000, Richard Henderson wrote:
> > Removing support for building on 32 bit systems seems like a pity - it's
> > one of a small number of ways to run 64 bit binaries on 32 bit systems,
> > and the maintainance overhead is quite small.
> 
> It's not that small.

Meaning there are lots of ways to run 64 bit binaries on 32 bit systems?

-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
  2023-02-28  7:39   ` Thomas Huth
@ 2023-02-28  9:01     ` Daniel P. Berrangé
  2023-02-28 11:46       ` Michael S. Tsirkin
  2023-02-28 20:05       ` Thomas Huth
  0 siblings, 2 replies; 37+ messages in thread
From: Daniel P. Berrangé @ 2023-02-28  9:01 UTC (permalink / raw)
  To: Thomas Huth
  Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk,
	Michael S . Tsirkin, Marcel Apfelbaum

On Tue, Feb 28, 2023 at 08:39:49AM +0100, Thomas Huth wrote:
> On 27/02/2023 19.38, Daniel P. Berrangé wrote:
> > On Mon, Feb 27, 2023 at 12:10:48PM +0100, Thomas Huth wrote:
> > > 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.
> > > 
> > > 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 host support for system emulation on x86 and
> > > arm anymore, so it should be fine if we drop these host environments
> > > now (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).
> > 
> > Your description here is a little ambiguous about what's being
> > proposed. When you say dropping 32-bit host support do you mean
> > just for the system emulator binaries, or for QEMU entirely ?
> 
> Just for system emulation. Some people said that user emulation still might
> be useful for some 32-bit environments.
> 
> > And when the deprecation period is passed, are you proposing
> > to actively prevent 32-bit builds, or merely stopping CI testing
> > and leave 32-bit builds still working if people want them ?
> 
> CI is the main pain point, so that's the most important thing. So whether we
> throw a warning or a hard error while configuring the build, I don't care
> too much.

If we're merely wanting to drop CI support, we can do that any time and
deprecation is not required/expected.  We should only be using deprecation
where we're explicitly intending that the code will cease to work.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28  8:59           ` Daniel P. Berrangé
@ 2023-02-28  9:03             ` Michael S. Tsirkin
  2023-02-28  9:14               ` Thomas Huth
  0 siblings, 1 reply; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28  9:03 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
	Marcel Apfelbaum

On Tue, Feb 28, 2023 at 08:59:52AM +0000, Daniel P. Berrangé wrote:
> On Tue, Feb 28, 2023 at 03:19:20AM -0500, Michael S. Tsirkin wrote:
> > On Tue, Feb 28, 2023 at 08:49:09AM +0100, Thomas Huth wrote:
> > > On 27/02/2023 21.12, Michael S. Tsirkin wrote:
> > > > On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
> > > > > I feel like we should have separate deprecation entries for the
> > > > > i686 host support, and for qemu-system-i386 emulator binary, as
> > > > > although they're related they are independant features with
> > > > > differing impact. eg removing qemu-system-i386 affects all
> > > > > host architectures, not merely 32-bit x86 host, so I think we
> > > > > can explain the impact more clearly if we separate them.
> > > > 
> > > > Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
> > > > a superset.
> > > > 
> > > > Removing support for building on 32 bit systems seems like a pity - it's
> > > > one of a small number of ways to run 64 bit binaries on 32 bit systems,
> > > > and the maintainance overhead is quite small.
> > > 
> > > Note: We're talking about 32-bit *x86* hosts here. Do you really think that
> > > someone is still using QEMU usermode emulation
> > > to run 64-bit binaries on a 32-bit x86 host?? ... If so, I'd be very surprised!
> > 
> > I don't know - why x86 specifically? One can build a 32 bit binary on any host.
> > I think 32 bit x86 environments are just more common in the cloud.
> 
> Can you point to anything that backs up that assertion. Clouds I've
> seen always give you a 64-bit environment, and many OS no longer
> even ship 32-bit installable media.


Sorry about being unclear. I meant that it seems easier to run CI in the
cloud in a 32 bit x64 environment than get a 32 bit ARM environment.

> I would be surprised if 32-bit
> is above very very low single digits usage compared to x86_64.

Absolutely.

> > > > In fact, keeping this support around forces correct use of
> > > > posix APIs such as e.g. PRIx64 which makes the code base
> > > > more future-proof.
> > > 
> > > If you're concerned about PRIx64 and friends: We still continue to do
> > > compile testing with 32-bit MIPS cross-compilers and Windows 32-bit
> > > cross-compilers for now. The only thing we'd lose is the 32-bit "make check"
> > > run in the CI.
> > > 
> > >  Thomas
> > 
> > Yes - fundamentally 32 bit does not seem that different from e.g.
> > windows builds - we presumably support these but AFAIK CI does not
> > test these.
> 
> We do compile test windows in CI via mingw, and we also do build
> and unit tests via msys.
> 
> Even Windows has dropped 32-bit support though, and so the only
> reason we keep 32-bit Windows around is because of Windows 10.
> Once a Windows 12 comes along, we'll not need to support 32-bit
> Windows either.
> 
> With regards,
> Daniel

Or maybe we'll just rely on WSL.

> -- 
> |: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
> |: https://libvirt.org         -o-            https://fstop138.berrange.com :|
> |: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28  9:03             ` Michael S. Tsirkin
@ 2023-02-28  9:14               ` Thomas Huth
  2023-02-28  9:40                 ` Daniel P. Berrangé
  0 siblings, 1 reply; 37+ messages in thread
From: Thomas Huth @ 2023-02-28  9:14 UTC (permalink / raw)
  To: Michael S. Tsirkin, Daniel P. Berrangé
  Cc: Peter Maydell, libvir-list, Richard Henderson, qemu-devel,
	Markus Armbruster, qemu-arm, Reinoud Zandijk, Marcel Apfelbaum,
	xen-devel, Paolo Bonzini, Maxim Levitsky, Alex Bennée

On 28/02/2023 10.03, Michael S. Tsirkin wrote:
> On Tue, Feb 28, 2023 at 08:59:52AM +0000, Daniel P. Berrangé wrote:
>> On Tue, Feb 28, 2023 at 03:19:20AM -0500, Michael S. Tsirkin wrote:
>>> On Tue, Feb 28, 2023 at 08:49:09AM +0100, Thomas Huth wrote:
>>>> On 27/02/2023 21.12, Michael S. Tsirkin wrote:
>>>>> On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
>>>>>> I feel like we should have separate deprecation entries for the
>>>>>> i686 host support, and for qemu-system-i386 emulator binary, as
>>>>>> although they're related they are independant features with
>>>>>> differing impact. eg removing qemu-system-i386 affects all
>>>>>> host architectures, not merely 32-bit x86 host, so I think we
>>>>>> can explain the impact more clearly if we separate them.
>>>>>
>>>>> Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
>>>>> a superset.
>>>>>
>>>>> Removing support for building on 32 bit systems seems like a pity - it's
>>>>> one of a small number of ways to run 64 bit binaries on 32 bit systems,
>>>>> and the maintainance overhead is quite small.
>>>>
>>>> Note: We're talking about 32-bit *x86* hosts here. Do you really think that
>>>> someone is still using QEMU usermode emulation
>>>> to run 64-bit binaries on a 32-bit x86 host?? ... If so, I'd be very surprised!
>>>
>>> I don't know - why x86 specifically? One can build a 32 bit binary on any host.
>>> I think 32 bit x86 environments are just more common in the cloud.
>>
>> Can you point to anything that backs up that assertion. Clouds I've
>> seen always give you a 64-bit environment, and many OS no longer
>> even ship 32-bit installable media.
> 
> Sorry about being unclear. I meant that it seems easier to run CI in the
> cloud in a 32 bit x64 environment than get a 32 bit ARM environment.

It's still doable ... but for how much longer? We're currently depending on 
Fedora, but they also slowly drop more and more support for this 
environment, see e.g.:

  https://www.theregister.com/2022/03/10/fedora_inches_closer_to_dropping/

  Thomas



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28  9:14               ` Thomas Huth
@ 2023-02-28  9:40                 ` Daniel P. Berrangé
  2023-02-28 10:11                   ` Michael S. Tsirkin
  0 siblings, 1 reply; 37+ messages in thread
From: Daniel P. Berrangé @ 2023-02-28  9:40 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Michael S. Tsirkin, Peter Maydell, libvir-list,
	Richard Henderson, qemu-devel, Markus Armbruster, qemu-arm,
	Reinoud Zandijk, Marcel Apfelbaum, xen-devel, Paolo Bonzini,
	Maxim Levitsky, Alex Bennée

On Tue, Feb 28, 2023 at 10:14:52AM +0100, Thomas Huth wrote:
> On 28/02/2023 10.03, Michael S. Tsirkin wrote:
> > On Tue, Feb 28, 2023 at 08:59:52AM +0000, Daniel P. Berrangé wrote:
> > > On Tue, Feb 28, 2023 at 03:19:20AM -0500, Michael S. Tsirkin wrote:
> > > > On Tue, Feb 28, 2023 at 08:49:09AM +0100, Thomas Huth wrote:
> > > > > On 27/02/2023 21.12, Michael S. Tsirkin wrote:
> > > > > > On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
> > > > > > > I feel like we should have separate deprecation entries for the
> > > > > > > i686 host support, and for qemu-system-i386 emulator binary, as
> > > > > > > although they're related they are independant features with
> > > > > > > differing impact. eg removing qemu-system-i386 affects all
> > > > > > > host architectures, not merely 32-bit x86 host, so I think we
> > > > > > > can explain the impact more clearly if we separate them.
> > > > > > 
> > > > > > Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
> > > > > > a superset.
> > > > > > 
> > > > > > Removing support for building on 32 bit systems seems like a pity - it's
> > > > > > one of a small number of ways to run 64 bit binaries on 32 bit systems,
> > > > > > and the maintainance overhead is quite small.
> > > > > 
> > > > > Note: We're talking about 32-bit *x86* hosts here. Do you really think that
> > > > > someone is still using QEMU usermode emulation
> > > > > to run 64-bit binaries on a 32-bit x86 host?? ... If so, I'd be very surprised!
> > > > 
> > > > I don't know - why x86 specifically? One can build a 32 bit binary on any host.
> > > > I think 32 bit x86 environments are just more common in the cloud.
> > > 
> > > Can you point to anything that backs up that assertion. Clouds I've
> > > seen always give you a 64-bit environment, and many OS no longer
> > > even ship 32-bit installable media.
> > 
> > Sorry about being unclear. I meant that it seems easier to run CI in the
> > cloud in a 32 bit x64 environment than get a 32 bit ARM environment.
> 
> It's still doable ... but for how much longer? We're currently depending on
> Fedora, but they also slowly drop more and more support for this
> environment, see e.g.:

FWIW, we should cull our fedora-i386-cross.docker dockerfile and
replace it with a debian i686 dockerfile generated by lcitool.
There's no compelling reason why i686 should be different from
all our other cross builds which are based on Debian. The Debian
lcitool generated container would have access to a wider range
of deps than our hand written Fedora one.

>  https://www.theregister.com/2022/03/10/fedora_inches_closer_to_dropping/

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28  9:40                 ` Daniel P. Berrangé
@ 2023-02-28 10:11                   ` Michael S. Tsirkin
  2023-02-28 10:39                     ` Markus Armbruster
  0 siblings, 1 reply; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28 10:11 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Thomas Huth, Peter Maydell, libvir-list, Richard Henderson,
	qemu-devel, Markus Armbruster, qemu-arm, Reinoud Zandijk,
	Marcel Apfelbaum, xen-devel, Paolo Bonzini, Maxim Levitsky,
	Alex Bennée

On Tue, Feb 28, 2023 at 09:40:49AM +0000, Daniel P. Berrangé wrote:
> On Tue, Feb 28, 2023 at 10:14:52AM +0100, Thomas Huth wrote:
> > On 28/02/2023 10.03, Michael S. Tsirkin wrote:
> > > On Tue, Feb 28, 2023 at 08:59:52AM +0000, Daniel P. Berrangé wrote:
> > > > On Tue, Feb 28, 2023 at 03:19:20AM -0500, Michael S. Tsirkin wrote:
> > > > > On Tue, Feb 28, 2023 at 08:49:09AM +0100, Thomas Huth wrote:
> > > > > > On 27/02/2023 21.12, Michael S. Tsirkin wrote:
> > > > > > > On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
> > > > > > > > I feel like we should have separate deprecation entries for the
> > > > > > > > i686 host support, and for qemu-system-i386 emulator binary, as
> > > > > > > > although they're related they are independant features with
> > > > > > > > differing impact. eg removing qemu-system-i386 affects all
> > > > > > > > host architectures, not merely 32-bit x86 host, so I think we
> > > > > > > > can explain the impact more clearly if we separate them.
> > > > > > > 
> > > > > > > Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
> > > > > > > a superset.
> > > > > > > 
> > > > > > > Removing support for building on 32 bit systems seems like a pity - it's
> > > > > > > one of a small number of ways to run 64 bit binaries on 32 bit systems,
> > > > > > > and the maintainance overhead is quite small.
> > > > > > 
> > > > > > Note: We're talking about 32-bit *x86* hosts here. Do you really think that
> > > > > > someone is still using QEMU usermode emulation
> > > > > > to run 64-bit binaries on a 32-bit x86 host?? ... If so, I'd be very surprised!
> > > > > 
> > > > > I don't know - why x86 specifically? One can build a 32 bit binary on any host.
> > > > > I think 32 bit x86 environments are just more common in the cloud.
> > > > 
> > > > Can you point to anything that backs up that assertion. Clouds I've
> > > > seen always give you a 64-bit environment, and many OS no longer
> > > > even ship 32-bit installable media.
> > > 
> > > Sorry about being unclear. I meant that it seems easier to run CI in the
> > > cloud in a 32 bit x64 environment than get a 32 bit ARM environment.
> > 
> > It's still doable ... but for how much longer? We're currently depending on
> > Fedora, but they also slowly drop more and more support for this
> > environment, see e.g.:
> 
> FWIW, we should cull our fedora-i386-cross.docker dockerfile and
> replace it with a debian i686 dockerfile generated by lcitool.
> There's no compelling reason why i686 should be different from
> all our other cross builds which are based on Debian. The Debian
> lcitool generated container would have access to a wider range
> of deps than our hand written Fedora one.
> 
> >  https://www.theregister.com/2022/03/10/fedora_inches_closer_to_dropping/
> 
> With regards,
> Daniel

... and is closer to where 32 bit is likely to be deployed which is
systems like e.g. raspberry pi os which until recently was only
32 bit.

-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28 10:11                   ` Michael S. Tsirkin
@ 2023-02-28 10:39                     ` Markus Armbruster
  2023-02-28 10:51                       ` Michael S. Tsirkin
  0 siblings, 1 reply; 37+ messages in thread
From: Markus Armbruster @ 2023-02-28 10:39 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Daniel P. Berrangé,
	Thomas Huth, Peter Maydell, libvir-list, Richard Henderson,
	qemu-devel, qemu-arm, Reinoud Zandijk, Marcel Apfelbaum,
	xen-devel, Paolo Bonzini, Maxim Levitsky, Alex Bennée

"Michael S. Tsirkin" <mst@redhat.com> writes:

> On Tue, Feb 28, 2023 at 09:40:49AM +0000, Daniel P. Berrangé wrote:
>> On Tue, Feb 28, 2023 at 10:14:52AM +0100, Thomas Huth wrote:
>> > On 28/02/2023 10.03, Michael S. Tsirkin wrote:
>> > > On Tue, Feb 28, 2023 at 08:59:52AM +0000, Daniel P. Berrangé wrote:
>> > > > On Tue, Feb 28, 2023 at 03:19:20AM -0500, Michael S. Tsirkin wrote:
>> > > > > On Tue, Feb 28, 2023 at 08:49:09AM +0100, Thomas Huth wrote:
>> > > > > > On 27/02/2023 21.12, Michael S. Tsirkin wrote:
>> > > > > > > On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
>> > > > > > > > I feel like we should have separate deprecation entries for the
>> > > > > > > > i686 host support, and for qemu-system-i386 emulator binary, as
>> > > > > > > > although they're related they are independant features with
>> > > > > > > > differing impact. eg removing qemu-system-i386 affects all
>> > > > > > > > host architectures, not merely 32-bit x86 host, so I think we
>> > > > > > > > can explain the impact more clearly if we separate them.
>> > > > > > > 
>> > > > > > > Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
>> > > > > > > a superset.
>> > > > > > > 
>> > > > > > > Removing support for building on 32 bit systems seems like a pity - it's
>> > > > > > > one of a small number of ways to run 64 bit binaries on 32 bit systems,
>> > > > > > > and the maintainance overhead is quite small.
>> > > > > > 
>> > > > > > Note: We're talking about 32-bit *x86* hosts here. Do you really think that
>> > > > > > someone is still using QEMU usermode emulation
>> > > > > > to run 64-bit binaries on a 32-bit x86 host?? ... If so, I'd be very surprised!
>> > > > > 
>> > > > > I don't know - why x86 specifically? One can build a 32 bit binary on any host.
>> > > > > I think 32 bit x86 environments are just more common in the cloud.
>> > > > 
>> > > > Can you point to anything that backs up that assertion. Clouds I've
>> > > > seen always give you a 64-bit environment, and many OS no longer
>> > > > even ship 32-bit installable media.
>> > > 
>> > > Sorry about being unclear. I meant that it seems easier to run CI in the
>> > > cloud in a 32 bit x64 environment than get a 32 bit ARM environment.
>> > 
>> > It's still doable ... but for how much longer? We're currently depending on
>> > Fedora, but they also slowly drop more and more support for this
>> > environment, see e.g.:
>> 
>> FWIW, we should cull our fedora-i386-cross.docker dockerfile and
>> replace it with a debian i686 dockerfile generated by lcitool.
>> There's no compelling reason why i686 should be different from
>> all our other cross builds which are based on Debian. The Debian
>> lcitool generated container would have access to a wider range
>> of deps than our hand written Fedora one.
>> 
>> >  https://www.theregister.com/2022/03/10/fedora_inches_closer_to_dropping/
>> 
>> With regards,
>> Daniel
>
> ... and is closer to where 32 bit is likely to be deployed which is
> systems like e.g. raspberry pi os which until recently was only
> 32 bit.

32 bit ARM.  How is that an argument for continued maintenance of 32 bit
x86?

If the argument goes like "32 bit x86 is easier to test in CI", then I
don't buy it.  Testing 64 bit ARM + 32 bit x86 does not magically
replace testing 32 bit ARM.

The question to answer: Is 32 bit x86 worth its upkeep?  Two
sub-questions: 1. Is it worth the human attention?  2. Is it worth
(scarce!) CI minutes?

I want to see an argument for benefits justifying the costs.

A benefit like "somebody out there might still want to use it" I'd value
at zero.



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28 10:39                     ` Markus Armbruster
@ 2023-02-28 10:51                       ` Michael S. Tsirkin
  2023-02-28 11:12                         ` Thomas Huth
  2023-02-28 11:34                         ` Markus Armbruster
  0 siblings, 2 replies; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28 10:51 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Daniel P. Berrangé,
	Thomas Huth, Peter Maydell, libvir-list, Richard Henderson,
	qemu-devel, qemu-arm, Reinoud Zandijk, Marcel Apfelbaum,
	xen-devel, Paolo Bonzini, Maxim Levitsky, Alex Bennée

On Tue, Feb 28, 2023 at 11:39:39AM +0100, Markus Armbruster wrote:
> The question to answer: Is 32 bit x86 worth its upkeep?  Two
> sub-questions: 1. Is it worth the human attention?  2. Is it worth
> (scarce!) CI minutes?

3. Is it worth arguing about?

-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28 10:51                       ` Michael S. Tsirkin
@ 2023-02-28 11:12                         ` Thomas Huth
  2023-02-28 11:24                           ` Michael S. Tsirkin
  2023-02-28 11:34                         ` Markus Armbruster
  1 sibling, 1 reply; 37+ messages in thread
From: Thomas Huth @ 2023-02-28 11:12 UTC (permalink / raw)
  To: Michael S. Tsirkin, Markus Armbruster
  Cc: Daniel P. Berrangé,
	Peter Maydell, libvir-list, Richard Henderson, qemu-devel,
	qemu-arm, Reinoud Zandijk, Marcel Apfelbaum, xen-devel,
	Paolo Bonzini, Maxim Levitsky, Alex Bennée

On 28/02/2023 11.51, Michael S. Tsirkin wrote:
> On Tue, Feb 28, 2023 at 11:39:39AM +0100, Markus Armbruster wrote:
>> The question to answer: Is 32 bit x86 worth its upkeep?  Two
>> sub-questions: 1. Is it worth the human attention?  2. Is it worth
>> (scarce!) CI minutes?
> 
> 3. Is it worth arguing about?

You are aware of the problems we're currently struggeling with, aren't you? 
Darn, we're having *SEVERE* problems with the CI, the QEMU project ran out 
of CI minutes for the second time this year, and you ask whether it's worth 
arguing about??? You're not serious with this question, are you?

  Thomas



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28 11:12                         ` Thomas Huth
@ 2023-02-28 11:24                           ` Michael S. Tsirkin
  2023-02-28 11:27                             ` Daniel P. Berrangé
  0 siblings, 1 reply; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28 11:24 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Markus Armbruster, Daniel P. Berrangé,
	Peter Maydell, libvir-list, Richard Henderson, qemu-devel,
	qemu-arm, Reinoud Zandijk, Marcel Apfelbaum, xen-devel,
	Paolo Bonzini, Maxim Levitsky, Alex Bennée

On Tue, Feb 28, 2023 at 12:12:22PM +0100, Thomas Huth wrote:
> On 28/02/2023 11.51, Michael S. Tsirkin wrote:
> > On Tue, Feb 28, 2023 at 11:39:39AM +0100, Markus Armbruster wrote:
> > > The question to answer: Is 32 bit x86 worth its upkeep?  Two
> > > sub-questions: 1. Is it worth the human attention?  2. Is it worth
> > > (scarce!) CI minutes?
> > 
> > 3. Is it worth arguing about?
> 
> You are aware of the problems we're currently struggeling with, aren't you?
> Darn, we're having *SEVERE* problems with the CI, the QEMU project ran out
> of CI minutes for the second time this year, and you ask whether it's worth
> arguing about??? You're not serious with this question, are you?
> 
>  Thomas

Yah just couldn't resist. How many minutes do we use per month btw?

-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28 11:24                           ` Michael S. Tsirkin
@ 2023-02-28 11:27                             ` Daniel P. Berrangé
  0 siblings, 0 replies; 37+ messages in thread
From: Daniel P. Berrangé @ 2023-02-28 11:27 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Thomas Huth, Markus Armbruster, Peter Maydell, libvir-list,
	Richard Henderson, qemu-devel, qemu-arm, Reinoud Zandijk,
	Marcel Apfelbaum, xen-devel, Paolo Bonzini, Maxim Levitsky,
	Alex Bennée

On Tue, Feb 28, 2023 at 06:24:02AM -0500, Michael S. Tsirkin wrote:
> On Tue, Feb 28, 2023 at 12:12:22PM +0100, Thomas Huth wrote:
> > On 28/02/2023 11.51, Michael S. Tsirkin wrote:
> > > On Tue, Feb 28, 2023 at 11:39:39AM +0100, Markus Armbruster wrote:
> > > > The question to answer: Is 32 bit x86 worth its upkeep?  Two
> > > > sub-questions: 1. Is it worth the human attention?  2. Is it worth
> > > > (scarce!) CI minutes?
> > > 
> > > 3. Is it worth arguing about?
> > 
> > You are aware of the problems we're currently struggeling with, aren't you?
> > Darn, we're having *SEVERE* problems with the CI, the QEMU project ran out
> > of CI minutes for the second time this year, and you ask whether it's worth
> > arguing about??? You're not serious with this question, are you?
> > 
> >  Thomas
> 
> Yah just couldn't resist. How many minutes do we use per month btw?

100,000 wall clock minutes lasted about 2+1/2 weeks this month, and
similar in Jan too. Last year we were managing to get through the
whole month on 100,000, but we got backlogged with merges due to
the xmas / new year shutdown, and catching up is exhausting our
allowance too quickly, as well as natural growth in amount of stuff
we're testing per job.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28 10:51                       ` Michael S. Tsirkin
  2023-02-28 11:12                         ` Thomas Huth
@ 2023-02-28 11:34                         ` Markus Armbruster
  2023-02-28 11:45                           ` Michael S. Tsirkin
  1 sibling, 1 reply; 37+ messages in thread
From: Markus Armbruster @ 2023-02-28 11:34 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Markus Armbruster, Daniel P. Berrangé,
	Thomas Huth, Peter Maydell, libvir-list, Richard Henderson,
	qemu-devel, qemu-arm, Reinoud Zandijk, Marcel Apfelbaum,
	xen-devel, Paolo Bonzini, Maxim Levitsky, Alex Bennée

"Michael S. Tsirkin" <mst@redhat.com> writes:

> On Tue, Feb 28, 2023 at 11:39:39AM +0100, Markus Armbruster wrote:
>> The question to answer: Is 32 bit x86 worth its upkeep?  Two
>> sub-questions: 1. Is it worth the human attention?  2. Is it worth
>> (scarce!) CI minutes?
>
> 3. Is it worth arguing about?

If it's not worth arguing, then we merge Thomas's patch.



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28 11:34                         ` Markus Armbruster
@ 2023-02-28 11:45                           ` Michael S. Tsirkin
  0 siblings, 0 replies; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28 11:45 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Daniel P. Berrangé,
	Thomas Huth, Peter Maydell, libvir-list, Richard Henderson,
	qemu-devel, qemu-arm, Reinoud Zandijk, Marcel Apfelbaum,
	xen-devel, Paolo Bonzini, Maxim Levitsky, Alex Bennée

On Tue, Feb 28, 2023 at 12:34:19PM +0100, Markus Armbruster wrote:
> If it's not worth arguing, then we merge Thomas's patch.

I don't mind but it's just a doc patch isn't it? If what we want to do
is to stop doing make check on a 32 bit container and just to do
make then let's patch the relevant yaml.  I'd ack this, easy.

-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
  2023-02-28  9:01     ` Daniel P. Berrangé
@ 2023-02-28 11:46       ` Michael S. Tsirkin
  2023-02-28 20:05       ` Thomas Huth
  1 sibling, 0 replies; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28 11:46 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, Richard Henderson, xen-devel, Reinoud Zandijk,
	Marcel Apfelbaum

On Tue, Feb 28, 2023 at 09:01:46AM +0000, Daniel P. Berrangé wrote:
> If we're merely wanting to drop CI support, we can do that any time and
> deprecation is not required/expected.  We should only be using deprecation
> where we're explicitly intending that the code will cease to work.

Good point, IMO.

-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28  8:59         ` Michael S. Tsirkin
@ 2023-02-28 12:26           ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 37+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-02-28 12:26 UTC (permalink / raw)
  To: Michael S. Tsirkin, Richard Henderson
  Cc: Daniel P. Berrangé,
	Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On 28/2/23 09:59, Michael S. Tsirkin wrote:
> On Mon, Feb 27, 2023 at 10:21:14AM -1000, Richard Henderson wrote:
>> On 2/27/23 10:12, Michael S. Tsirkin wrote:
>>> On Mon, Feb 27, 2023 at 11:50:07AM +0000, Daniel P. Berrangé wrote:
>>>> I feel like we should have separate deprecation entries for the
>>>> i686 host support, and for qemu-system-i386 emulator binary, as
>>>> although they're related they are independant features with
>>>> differing impact. eg removing qemu-system-i386 affects all
>>>> host architectures, not merely 32-bit x86 host, so I think we
>>>> can explain the impact more clearly if we separate them.
>>>
>>> Removing qemu-system-i386 seems ok to me - I think qemu-system-x86_64 is
>>> a superset.
>>>
>>> Removing support for building on 32 bit systems seems like a pity - it's
>>> one of a small number of ways to run 64 bit binaries on 32 bit systems,
>>> and the maintainance overhead is quite small.
>>
>> It's not that small.  It only works for single-threaded system mode.  It
>> silently does not honor atomicity for user-only mode, which is perhaps worse
>> not working at all.

Will the same occur with 64-bit hosts when we introduce a 128-bit 
target? If so, there is no much code we'll be able to drop,

> We should probably block multi-threading on 32 bit then.

so this sound a user experience fix.



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386
  2023-02-28  9:00         ` Michael S. Tsirkin
@ 2023-02-28 16:57           ` Richard Henderson
  0 siblings, 0 replies; 37+ messages in thread
From: Richard Henderson @ 2023-02-28 16:57 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Daniel P. Berrangé,
	Thomas Huth, qemu-devel, Peter Maydell, Paolo Bonzini,
	Markus Armbruster, Alex Bennée, qemu-arm, Maxim Levitsky,
	libvir-list, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On 2/27/23 23:00, Michael S. Tsirkin wrote:
> On Mon, Feb 27, 2023 at 10:21:14AM -1000, Richard Henderson wrote:
>>> Removing support for building on 32 bit systems seems like a pity - it's
>>> one of a small number of ways to run 64 bit binaries on 32 bit systems,
>>> and the maintainance overhead is quite small.
>>
>> It's not that small.
> 
> Meaning there are lots of ways to run 64 bit binaries on 32 bit systems?

No, meaning the maint overhead is large.


r~



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
  2023-02-28  9:01     ` Daniel P. Berrangé
  2023-02-28 11:46       ` Michael S. Tsirkin
@ 2023-02-28 20:05       ` Thomas Huth
  2023-02-28 21:32         ` Michael S. Tsirkin
  1 sibling, 1 reply; 37+ messages in thread
From: Thomas Huth @ 2023-02-28 20:05 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk,
	Michael S . Tsirkin, Marcel Apfelbaum

On 28/02/2023 10.01, Daniel P. Berrangé wrote:
> On Tue, Feb 28, 2023 at 08:39:49AM +0100, Thomas Huth wrote:
>> On 27/02/2023 19.38, Daniel P. Berrangé wrote:
>>> On Mon, Feb 27, 2023 at 12:10:48PM +0100, Thomas Huth wrote:
>>>> 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.
>>>>
>>>> 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 host support for system emulation on x86 and
>>>> arm anymore, so it should be fine if we drop these host environments
>>>> now (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).
>>>
>>> Your description here is a little ambiguous about what's being
>>> proposed. When you say dropping 32-bit host support do you mean
>>> just for the system emulator binaries, or for QEMU entirely ?
>>
>> Just for system emulation. Some people said that user emulation still might
>> be useful for some 32-bit environments.
>>
>>> And when the deprecation period is passed, are you proposing
>>> to actively prevent 32-bit builds, or merely stopping CI testing
>>> and leave 32-bit builds still working if people want them ?
>>
>> CI is the main pain point, so that's the most important thing. So whether we
>> throw a warning or a hard error while configuring the build, I don't care
>> too much.
> 
> If we're merely wanting to drop CI support, we can do that any time and
> deprecation is not required/expected.  We should only be using deprecation
> where we're explicitly intending that the code will cease to work.

Well, without CI, I assume that the code will bitrot quite fast (considering 
that there are continuous improvements to TCG, for example). And who's then 
still volunteering to fix bugs that have crept in months ago, for a host 
architecture that nobody really uses anymore?
Clearly, 32-bit x86 host is pretty much dead nowadays, especially for 
programs like QEMU that need beefy host hardware. Why do we still waste our 
time with this?

  Thomas



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
  2023-02-28 20:05       ` Thomas Huth
@ 2023-02-28 21:32         ` Michael S. Tsirkin
  2023-03-01  6:38           ` Thomas Huth
  2023-03-01  7:35           ` Markus Armbruster
  0 siblings, 2 replies; 37+ messages in thread
From: Michael S. Tsirkin @ 2023-02-28 21:32 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Daniel P. Berrangé,
	qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On Tue, Feb 28, 2023 at 09:05:16PM +0100, Thomas Huth wrote:
> Well, without CI, I assume that the code will bitrot quite fast (considering
> that there are continuous improvements to TCG, for example).

We have lots of hosts which we don't test with CI.  They don't bitrot
because people do testing before release. This is what RCs are for.
We did releases before CI - it is a cost/benefit thing.

-- 
MST



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
  2023-02-28 21:32         ` Michael S. Tsirkin
@ 2023-03-01  6:38           ` Thomas Huth
  2023-03-01  7:35           ` Markus Armbruster
  1 sibling, 0 replies; 37+ messages in thread
From: Thomas Huth @ 2023-03-01  6:38 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Daniel P. Berrangé,
	qemu-devel, Peter Maydell, Paolo Bonzini, Markus Armbruster,
	Alex Bennée, qemu-arm, Maxim Levitsky, libvir-list,
	Richard Henderson, xen-devel, Reinoud Zandijk, Marcel Apfelbaum

On 28/02/2023 22.32, Michael S. Tsirkin wrote:
> On Tue, Feb 28, 2023 at 09:05:16PM +0100, Thomas Huth wrote:
>> Well, without CI, I assume that the code will bitrot quite fast (considering
>> that there are continuous improvements to TCG, for example).
> 
> We have lots of hosts which we don't test with CI.  They don't bitrot
> because people do testing before release.

Other hosts don't bitrot completely since there are still people out there 
who are interested in those host systems. But are you aware of anybody who's 
still actively interested in 32-bit x86 host systems and thus makes sure 
that QEMU would still work fine there when we publish release candidates?

  Thomas



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
  2023-02-28 21:32         ` Michael S. Tsirkin
  2023-03-01  6:38           ` Thomas Huth
@ 2023-03-01  7:35           ` Markus Armbruster
  2023-03-01  7:46             ` Warner Losh
  1 sibling, 1 reply; 37+ messages in thread
From: Markus Armbruster @ 2023-03-01  7:35 UTC (permalink / raw)
  To: Michael S. Tsirkin
  Cc: Thomas Huth, Daniel P. Berrangé,
	qemu-devel, Peter Maydell, Paolo Bonzini, Alex Bennée,
	qemu-arm, Maxim Levitsky, libvir-list, Richard Henderson,
	xen-devel, Reinoud Zandijk, Marcel Apfelbaum

"Michael S. Tsirkin" <mst@redhat.com> writes:

> On Tue, Feb 28, 2023 at 09:05:16PM +0100, Thomas Huth wrote:
>> Well, without CI, I assume that the code will bitrot quite fast (considering
>> that there are continuous improvements to TCG, for example).
>
> We have lots of hosts which we don't test with CI.  They don't bitrot
> because people do testing before release. This is what RCs are for.
> We did releases before CI - it is a cost/benefit thing.

Dropping 32-bit x86 from CI feels like a no-brainer in the current
situation.

As to deprecating 32-bit x86: the people by far most qualified to judge
the "cost/benefit thing" are the regulars who are bearing the cost,
i.e. the people who are actually maintaining it.  Their opinion should
overrule any "but somebody out there might still want to use it".

Maintainers, please state your opinion, if any: aye or nay.

Richard tells us "the maint overhead is large."  Makes me think he's in
favour of dropping 32-bit x86.  Richard?

Peter seems to be reluctant to drop 32-bit ARM at this point.  Peter?



^ permalink raw reply	[flat|nested] 37+ messages in thread

* Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
  2023-03-01  7:35           ` Markus Armbruster
@ 2023-03-01  7:46             ` Warner Losh
  0 siblings, 0 replies; 37+ messages in thread
From: Warner Losh @ 2023-03-01  7:46 UTC (permalink / raw)
  To: Markus Armbruster
  Cc: Michael S. Tsirkin, Thomas Huth, Daniel P. Berrangé,
	QEMU Developers, Peter Maydell, Paolo Bonzini, Alex Bennée,
	qemu-arm, Maxim Levitsky, libvir-list, Richard Henderson,
	xen-devel, Reinoud Zandijk, Marcel Apfelbaum

[-- Attachment #1: Type: text/plain, Size: 1529 bytes --]

On Wed, Mar 1, 2023, 12:36 AM Markus Armbruster <armbru@redhat.com> wrote:

> "Michael S. Tsirkin" <mst@redhat.com> writes:
>
> > On Tue, Feb 28, 2023 at 09:05:16PM +0100, Thomas Huth wrote:
> >> Well, without CI, I assume that the code will bitrot quite fast
> (considering
> >> that there are continuous improvements to TCG, for example).
> >
> > We have lots of hosts which we don't test with CI.  They don't bitrot
> > because people do testing before release. This is what RCs are for.
> > We did releases before CI - it is a cost/benefit thing.
>
> Dropping 32-bit x86 from CI feels like a no-brainer in the current
> situation.
>
> As to deprecating 32-bit x86: the people by far most qualified to judge
> the "cost/benefit thing" are the regulars who are bearing the cost,
> i.e. the people who are actually maintaining it.  Their opinion should
> overrule any "but somebody out there might still want to use it".
>
> Maintainers, please state your opinion, if any: aye or nay.
>
> Richard tells us "the maint overhead is large."  Makes me think he's in
> favour of dropping 32-bit x86.  Richard?
>
> Peter seems to be reluctant to drop 32-bit ARM at this point.  Peter?
>

For FreeBSD systen we have no 32bit arm host users. There may be a few i386
host users left, but they are a tiny sliver of users. The overwhelming bulk
of our users for qemu-system- are on x86-64 or aarch64 hosts.

For bsd-user, there is no 32 bit host support at all. It was dropped as
part of the push to prune old code and upstream.

Warner

>

[-- Attachment #2: Type: text/html, Size: 2343 bytes --]

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2023-03-01  7:48 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-27 11:10 [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts Thomas Huth
2023-02-27 11:10 ` [PATCH 1/2] docs/about: Deprecate 32-bit x86 hosts and qemu-system-i386 Thomas Huth
2023-02-27 11:50   ` Daniel P. Berrangé
2023-02-27 20:12     ` Michael S. Tsirkin
2023-02-27 20:21       ` Richard Henderson
2023-02-28  8:59         ` Michael S. Tsirkin
2023-02-28 12:26           ` Philippe Mathieu-Daudé
2023-02-28  9:00         ` Michael S. Tsirkin
2023-02-28 16:57           ` Richard Henderson
2023-02-27 22:32       ` Philippe Mathieu-Daudé
2023-02-28  7:43         ` Thomas Huth
2023-02-28  7:49       ` Thomas Huth
2023-02-28  8:19         ` Michael S. Tsirkin
2023-02-28  8:59           ` Daniel P. Berrangé
2023-02-28  9:03             ` Michael S. Tsirkin
2023-02-28  9:14               ` Thomas Huth
2023-02-28  9:40                 ` Daniel P. Berrangé
2023-02-28 10:11                   ` Michael S. Tsirkin
2023-02-28 10:39                     ` Markus Armbruster
2023-02-28 10:51                       ` Michael S. Tsirkin
2023-02-28 11:12                         ` Thomas Huth
2023-02-28 11:24                           ` Michael S. Tsirkin
2023-02-28 11:27                             ` Daniel P. Berrangé
2023-02-28 11:34                         ` Markus Armbruster
2023-02-28 11:45                           ` Michael S. Tsirkin
2023-02-27 20:25     ` Richard Henderson
2023-02-28  7:52       ` Thomas Huth
2023-02-27 11:10 ` [PATCH 2/2] docs/about: Deprecate 32-bit arm hosts and qemu-system-arm Thomas Huth
2023-02-27 18:38 ` [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts Daniel P. Berrangé
2023-02-28  7:39   ` Thomas Huth
2023-02-28  9:01     ` Daniel P. Berrangé
2023-02-28 11:46       ` Michael S. Tsirkin
2023-02-28 20:05       ` Thomas Huth
2023-02-28 21:32         ` Michael S. Tsirkin
2023-03-01  6:38           ` Thomas Huth
2023-03-01  7:35           ` Markus Armbruster
2023-03-01  7:46             ` Warner Losh

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.