Thread (9 messages) read the whole thread 9 messages, 8 authors, 2020-08-16

Re: [TECH TOPIC] Planning code obsolescence

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2020-08-16 12:53:44
Also in: lkml

Arnd Bergmann [off-list ref] writes:
I have submitted the below as a topic for the linux/arch/* MC that Mike
and I run, but I suppose it also makes sense to discuss it on the
ksummit-discuss mailing list (cross-posted to linux-arch and lkml) as well
even if we don't discuss it at the main ksummit track.

     Arnd

8<---
...
I propose adding a Documentation file that keeps track of any notable
kernel feature that could be classified as "obsolete", and listing
e.g. following properties:

* Kconfig symbol controlling the feature

* How long we expect to keep it as a minimum

* Known use cases, or other reasons this needs to stay

* Latest kernel in which it was known to have worked

* Contact information for known users (mailing list, personal email)

* Other features that may depend on this

* Possible benefits of eventually removing it

With that information, my hope is that it becomes easier to plan when
some code can be removed after the last users have stopped upgrading
their kernels, while also preventing code from being removed that is
actually still in active use.

In the discussion at the linux/arch/* MC, I would hope to answer these
questions:

* Do other developers find this useful to have?
Yes!
* Where should the information be kept (Documentation/*, Kconfig,
MAINTAINERS, wiki.kernel.org, ...)
Documentation/ seems like the obvious place. Possibly also somewhere on
wiki.kernel.org or elsewhere so that people can contribute information
without having to submit a formal patch.
* Which information should be part of an entry?
Your list above is pretty good.

For features that relate to specific hardware I think it would be useful
to have some more information.

For example when the hardware was last manufactured, who made it, how
could it be purchased when it was available (eg. was it for sale to the
public or in limited quantities or only to certain people or internal to
a particular company).

* What granularity should this be applied to -- only high-level features
like CPU architectures and subsystems, or individual drivers and machines?
I think it can make sense at many levels. It probably just depends on
how much effort folks want to go to in order to track down the
information.

Looking at powerpc it would be useful to have that sort of info for
individual boards, as well as each platform, CPU families and specific
drivers.

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help