ksummit.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@arndb.de>
To: Linus Walleij <linus.walleij@linaro.org>
Cc: ksummit <Ksummit-discuss@lists.linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [MAINTAINERS SUMMIT] Deprecation / Removal of old hardware support
Date: Mon, 10 Sep 2018 23:40:59 +0200	[thread overview]
Message-ID: <CAK8P3a0a=eAwAg5i6z-5Hs56BXKP3CSsv2383zuMh6TrrDPwug@mail.gmail.com> (raw)
In-Reply-To: <CACRpkdYk1JKEQ=bumrxRk1eJ97xkQti8E1MRJ_xxen+dZ1a1Xw@mail.gmail.com>

On Mon, Sep 10, 2018 at 5:35 PM Linus Walleij <linus.walleij@linaro.org> wrote:
>
> On Mon, Sep 10, 2018 at 4:04 PM Peter Huewe <PeterHuewe@gmx.de> wrote:
>
> > one topic I would like to discuss is: when is it time to remove support for old hardware?
> > Should we support as much hardware as possible forever, or does it make sense to cut down the support?
> > If so, when would be appropriate?
>
> I've been thinking a lot about it. I just recently prepared a talk on the
> subject.
>
> My thinking has been something along the lines: if it has active
> users we don't delete it, by the same token that we don't destroy
> kernel interfaces that have active users.
>
> Of course the definition of "users" is a bit complex there. In our
> opinion the "users" are those who regularly compile new kernels
> and test them, finds regressions, bisects problems and generally
> do a good job in the community. Not ranting bloggers.
>
> By this reasoning it is absolutely forbidden to propose something
> like to delete arch/m68k (the last CPU M68060 produced in
> 1994 IIUC) as long as these maintainers put in an honest effort to
> keep running that kernel on increasingly aging and hard to obtain
> hardware like Apollo/Domain or Amiga 4000.
>
> One day the last m68k users stops responding to regressions and
> then it can be deleted.

When I prepared the series to remove eight unmaintained architectures,
that is roughly what I did. I also managed to contact at least one
core developer for each of those architectures (or at least one
person representing the company owning that IP), and it was all
done in agreement with them.

One architecture (unicore32) got saved in the last minute by
the maintainer saying that he'd rather keep it in tree, despite not
even having a publicly available toolchain with sources.

For architecture support, I don't think we are removing anything
in the next few years now, but there are two notable categories
of platform ports that are definitely obsolete, and we may want
to consider how to manage their remaining lives:

- Server architectures without a future: alpha, parisc, (mostly)
  ia64, (arguably) sparc are in a similar category as m68k;
  they are kept alive by enthusiasts that still have the hardware,
  but nobody in their right minds is putting new workloads on
  them.

- In some architectures (arm, mips, ppc, sh, m68k), we support
   many different machines, but only a small number of those
   machines are actively being used by anyone. We did a big
   cleanup on ARM a few years ago, and ppc dropped some
   machines during the conversion to DT, but in some of the
   others that never happened, and some have died in the
   meantime (or in some cases died just after they got merged,
   such as arm/mach-axxia).

Making the correct call on which platforms exactly are dead
takes a lot of knowledge and work to get right, e.g. you want
to also remove all hacks in device drivers that were added for
a platform when that gets removed.

One big problem with removing code in general is that code that
becomes unmaintained often also has nobody left that knows
about it being unmaintained.

> My ARMv4 is another example, but I can point at new devices
> beging deployed as we speak, using that ISA, even though it is
> from 1999. So it has many active users (and maintainers).

Note that even though gcc is dropping ARMv4 support from new
compilers, you can still use old toolchains, and there are tricks to
make ARMv4T binary code work on ARMv4. However, if gcc
ever stops supporting ARMv4T, this becomes a problem. My guess
is that will take another 10 years though, and we might have
removed some or all of the individual ARMv4 platforms by then.

      Arnd

  reply	other threads:[~2018-09-10 21:40 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-10 14:04 Peter Huewe
2018-09-10 15:31 ` Linus Walleij
2018-09-10 21:40   ` Arnd Bergmann [this message]
2018-09-10 22:02     ` Guenter Roeck
2018-09-11  8:49       ` Geert Uytterhoeven
2018-09-11 17:27         ` Guenter Roeck
2018-09-11 17:58           ` Geert Uytterhoeven
2018-09-11 18:27             ` Guenter Roeck
2018-09-11 18:37               ` Daniel Vetter
2018-09-11  8:37     ` Linus Walleij
2018-09-11  9:37       ` Lukasz Majewski
2018-09-11 19:33         ` Greg KH
2018-09-11 21:39           ` Laurent Pinchart
2018-09-11 21:50             ` Thomas Gleixner
2018-09-12  6:40               ` Geert Uytterhoeven
2018-09-12 10:23                 ` Arnd Bergmann
2018-09-12  6:26             ` Greg KH
2018-09-12  6:49               ` Peter Huewe
2018-09-12  7:07                 ` Greg KH
2018-09-11 10:52       ` Mark Brown
2018-09-11 11:22         ` Linus Walleij
     [not found]           ` <TY2PR0101MB2526376DEFC241B754A19A6AE21C0@TY2PR0101MB2526.apcprd01.prod.exchangelabs.com>
2018-09-27 15:25             ` SZ Lin (林上智)
2018-09-28 10:45               ` Thomas Gleixner
2018-09-11 11:53       ` Arnd Bergmann
2018-09-11 21:28         ` Alexander Sverdlin
2018-09-11 21:16       ` Alexander Sverdlin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAK8P3a0a=eAwAg5i6z-5Hs56BXKP3CSsv2383zuMh6TrrDPwug@mail.gmail.com' \
    --to=arnd@arndb.de \
    --cc=Ksummit-discuss@lists.linuxfoundation.org \
    --cc=linus.walleij@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox