On 30/01/2023 13.43, Daniel P. Berrangé wrote:
On Mon, Jan 30, 2023 at 01:22:22PM +0100, Thomas Huth wrote:
> On 30/01/2023 13.01, Daniel P. Berrangé wrote:
>> On Mon, Jan 30, 2023 at 11:47:02AM +0000, Peter Maydell wrote:
>>> On Mon, 30 Jan 2023 at 11:44, Thomas Huth <thuth(a)redhat.com> wrote:
>>>>
>>>> Testing 32-bit host OS support takes a lot of precious time during the
QEMU
>>>> contiguous integration tests, and considering that many OS vendors
stopped
>>>> shipping 32-bit variants of their OS distributions and most hardware
from
>>>> the past >10 years is capable of 64-bit
...
>> Do we have a feeling on which aspects of 32-bit cause us the
support
>> burden ? The boring stuff like compiler errors from mismatched integer
>> sizes is mostly quick & easy to detect simply through a cross compile.
>
> The burden are the CI minutes of the shared CI runners. We've got quite a
> bunch of 32-bit jobs in the CI:
>
> - cross-armel-system
> - cross-armel-user
> - cross-armhf-system
> - cross-armhf-user
> - cross-i386-system
> - cross-i386-user
> - cross-i386-tci
> - cross-mipsel-system
> - cross-mipsel-user
> - cross-win32-system
>
> If we could finally drop supporting 32-bit hosts, that would help with our
> CI minutes problem quite a lot, I think.
CI is a non-technical constraint, that's more about support level.
If we want to save CI minutes, we can declare that some or all of the
32-bit hosts scenarios are now tier 2, rather than tier 1. So the 32-bit
host support still exists, but we're not doing gating CI on every
combination. eg could declare 32-bit for linux-user is tier 1 and fully
tested but 32-bit machine emul is tier 2 and adhoc tested. Or make it
more nuanced per arch target
Well, while the burden currently mostly comes from the CI minutes (since it
catches problems immediately, they don't get committed), you would need
people's time instead who have to look after the problems once they've been
committed to the repository (which will surely happen if we don't check
32-bit host support in the CI anymore).
Who's volunteering in spending his time with analyzing (e.g. bisecting) and
fixing those problems? At least I don't.
We only need to deprecate and delete if we have some wins at the
code
level that we can't do with while it exists.
We also would have quite some wins at the code level, I think: At least the
whole "tcg/arm/" folder would go away, and we could simplify all spots that
are using HOST_LONG_BITS in the code base.
Thomas