Re: Future of 32-bit platforms (including i386)

From: Warner Losh <imp_at_bsdimp.com>
Date: Wed, 24 May 2023 21:33:10 UTC
On Wed, May 24, 2023, 2:42 PM John Baldwin <jhb@freebsd.org> wrote:

> On 5/23/23 8:59 PM, Charlie Li wrote:
> > Tomek CEDRO wrote:
> >> On Wed, May 24, 2023 at 1:47 AM John Baldwin wrote:
> >>> On 4/27/23 10:19 AM, John Baldwin wrote:
> >>>> For 13.0, i386 was demoted from Tier 1 to Tier 2.  In the announcement
> >>>> of this for 13.0, the project committed to an update on i386's future
> >>>> around the time of 14.0.  The announcement at the time suggested that
> >>>> i386 would be supported less in 14.x than in 13.x.
> >>>>
> >>>> My proposal is that for 14.x we treat i386 like any other Tier 2
> >>>> platform.  That is, release images and packages would only be provided
> >>>> on a best-effort basis, and we would not guarantee providing them.  I
> >>>> think we should also stop shipping binary updates for the base system
> >>>> (freebsd-update) for 14.x for i386.
> >>>>
> >>>> A larger question is what to do about 32-bit platforms moving forward.
> >>>> My proposal for powerpc, i386, and armv[67] is that we say publicly
> >>>> that we anticipate not supporting them in 15.  That is, that we may
> >>>> remove them outright from the tree, or we may leave them in the tree,
> >>>> but we do not plan on building packages or release images.  Another
> >>>> option to consider for 32-bit platforms perhaps in 15 is to remove
> >>>> kernel support and only retain the ability to build userland.  The
> >>>> goal of saying this now-ish (or about the time 14.0 is going to ship)
> >>>> would be to give time for users and developers to respond in the
> >>>> window between 14.0 and 15.0 so we can evaluate those responses as an
> >>>> input into the final decision for 15.
> >>>
> >>> We discussed this topic during the 15.0 developer summit and the
> consensus
> >>> among the folks present (which is only a subset of our community), is
> >>> that there is still interest in supporting armv7 kernels in 15.0, but
> not
> >>> kernels for other platforms.  In addition, no one expressed a need for
> >>> full 32-bit world support for i386 and powerpc, only for compat32
> support
> >>> in the kernel, and lib32 (cc -m32) support in userland.
> >>>
> >>> One question for this is if we think we will have sufficient developer
> >>> resources to maintain armv7 kernels for the life of stable/15.  We can
> >>> largely punt on the final decision for that until close to the release
> of
> >>> 15.0.  I think for what we announce for 14.0 we can still say that we
> >>> are generally planning to remove 32-bit kernel and world support in
> 15.0,
> >>> but may consider keeping armv7.
> >>
> >> I always think in terms of "Zombie Apocalypse"^TM on what to get
> >> myself into.. if its not going to work in that kind of situation then
> >> its not worth the time :-) :-)
> >>
> >> Will "lack of support" mean no binaries provided or removal of the
> >> source code so FreeBSD is non-existent anymore on those platforms?
> >>
> > Both. The actual code would be removed, as there exists a
> > not-insignificant cost on development of contemporary platform support
> > (needing to keep i386 around significantly hinders amd64 development,
> > for instance).
>
> I'm not sure it's accurate to say that i386 specifically hinders amd64,
> it's more that 32-bit platforms in general are more limited and we
> already have some features (e.g. KTLS) that only work on 64-bit platforms.
> That is only going to become more true over time.  We also have a finite
> set of developer resources, and it's best to concentrate those on modern
> commodity platforms.
>
> > I had a much longer passage on this subject that was slated to be
> > written and posted here prior to the devsummit, but the tl;dr was
> > understood at the devsummit. Basically, the proposed general removal of
> > 32-bit support is unfortunate but probably technically necessary.
> > Investigations of certain use cases, like Wine, will need to happen to
> > see how much 32-bit userland support need to remain whilst running on
> > 64-bit kernel. There continue to exist production armv7 boards that
> > enjoy long-term support, so removing kernel support would not only be a
> > bad idea, but those who need that support the most are the least
> > equipped to help on our end (unless some individuals can be nudged to
> > learn).
>
> Just because boards exist and users are interested is not sufficient reason
> to keep a platform alone.  We also have to have sufficient developer
> interest to maintain platforms in the tree.  What we learned at the summit
> is there is at least still some desire for 32-bit arm systems.
>

Maybe we need to put names next to this to retain it? If there is interest
it will become clear.

Althought most people use hardware to build, i still build my few packages
i need with bsd-user. I can keep bsd-user going for armv7 at least for 14..
and although I have 2 armv7 boards in service today, I'd likely replace
them with arm64 or riscv boards if they break either due to an update to
FreeBSD not working or hardware failure.

Warner

>