On Sat, 27 Oct 2018, Arnd Bergmann wrote: > On Sat, Oct 27, 2018 at 5:02 PM Geert Uytterhoeven <ge...@linux-m68k.org> > wrote: > > > > Hi Arnd, > > > > https://lwn.net/Articles/769468/ wrote: > > > For example, the m68k architecture uses a number of internal APIs that > > > no other > > > architecture needs at this point; removing that architecture would enable > > > removing > > > the APIs as well > > > > and > > > > > Ted Ts'o suggested that an ultimatum could be made: either the m68k > > > architecture > > > stops using the old, deprecated timer API (for example) within one year > > > or it is > > > removed from the kernel. > > > > Which APIs are these exactly? > > The example I gave was GENERIC_CLOCKEVENTS on m68, which is > supported on most but not all machines there.
That suggests that the removal of just those machines would suffice (as opposed to the removal of the entire arch). Also, Documentation/features/time/clockevents/arch-support.txt says, | m68k: | ok | These two observations make me wonder whether the clockevents feature is related to the discussion quoted above (?) > This is also missing on a couple of others (ia64 at least, not sure what > else). Another one would be having CLKDEV_LOOKUP without COMMON_CLK. > This one is not a problem for m68k but is for a couple of ARM and MIPS > platforms that have not yet been converted to COMMON_CLK. > > There are probably a couple more like this. I don't actually see any > that are /only/ used by m68k, but there are some interfaces that would > be good to stop using overall to keep things simpler. > Perhaps the most overdue features are the following. At least 50% of architectures have already implemented these features (or else cannot implement them). $ grep -cw TODO Documentation/features/*/*/arch-support.txt |sort -t: -k2n |head -n 9 Documentation/features/time/clockevents/arch-support.txt:1 Documentation/features/time/modern-timekeeping/arch-support.txt:2 Documentation/features/vm/numa-memblock/arch-support.txt:2 Documentation/features/vm/THP/arch-support.txt:5 Documentation/features/sched/numa-balancing/arch-support.txt:6 Documentation/features/core/tracehook/arch-support.txt:7 Documentation/features/core/generic-idle-thread/arch-support.txt:8 Documentation/features/locking/lockdep/arch-support.txt:8 Documentation/features/debug/kgdb/arch-support.txt:12 Of those, m68k has a "TODO" against the following 5 features. time/modern-timekeeping core/tracehook core/generic-idle-thread locking/lockdep debug/kgdb The question is, which of those features, if implemented, would contribute the most towards the goal (that is, to keep things simpler)? We might also ask about features that cannot be implemented on m68k; there are 4 of those. $ grep -cw "m68k.*[.][.]" Documentation/features/*/*/arch-support.txt |sort -t: -k2n ... Documentation/features/sched/numa-balancing/arch-support.txt:1 Documentation/features/vm/THP/arch-support.txt:1 Documentation/features/vm/TLB/arch-support.txt:1 Documentation/features/vm/numa-memblock/arch-support.txt:1 At least 8 out of 24 architectures would have to be deleted to make that list any shorter. -- > Arnd >