Re: m68k using deprecated internal APIs?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Oct 29, 2018 at 2:58 AM Greg Ungerer <gregungerer@xxxxxxxxxxxxxx> wrote:
I have been working on and maintaining parts of m68k for a long time,
and I was not aware that there was a number of problem areas that are
causing real pain. Maybe a friendly email from subsystem maintainers that
see issues would go a long way. At least if the m68k (and other arch)
communities know they can work toward solutions sooner rather than later.

Talk of ultimatums seems a bit heavy handed when only one side seems
to be aware there is a problem.

Adding Ted to Cc, as he was the one that brought up the ultimatum, and
James who raised the broader question of the long-term prospects of
32-bit hardware.

I have to admit that I failed to direct the maintainer summit discussion
the way I had originally intended. I started off with the eight architectures
that got removed, as an example for stuff that was already known to
be basically completely unused (for mainline Linux), and how it took me
a long time to be really sure that we are not hurting any remaining users.

I did not think (and still don't) that we are going to be removing further
CPU architectures any time soon, with the possible exception of those
that no longer have any compiler that can build them (unicore32 only has
a gcc-4.5 binary that no longer works, hexagon has 4.6 sources and binary
that barely work).

The real question that we tried to resolve is how we can more generally
find out whether a driver is still being used or not when it gets in the
way of some API conversion. This most often involves drivers for PC
add-on cards (network, scsi, ide, isdn, ...) and old bus interconnects
(ISA, EISA, previously MCA), but can also affect architectures from those
days (alpha, parisc, m68k). The conflict here is that unmaintained and
unused drivers are a burden for any treewide API changes in
particular because there is nobody who can test or Ack the changes,
but removing those drivers too aggressively is certain to hit some
users that still require the drivers and simply update their kernels
too infrequently to test changes in time.

I brought up m68k in particular as it was used on the oldest machines
I could find, sun3: To my best knowledge, the last working version of
Linux on this hardware was 2.6.26 with the addition of a simple patch that
was (and presumably still is) needed to get access to the serial console.

My guess is that aside from the popular m68k platforms (amiga, atari,
coldfire and mac and a one or two I'm not familiar with), there is a lot of
code that has not been used on many years. The same thing is certainly
true of mips, ppc, sh, and arm, all of which could benefit from having
someone take a critical look at which platforms were actually ever
properly supported at any point. When we did that on ARM a few years
ago, we ended up removing several that seemed promising when they
initially got added but that were not completed before the people working
on them moved on, or that had worked at some point but stopped
compiling several years earlier without anyone noticing.

      Arnd



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux