linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Josh Triplett <josh@joshtriplett.org>,
	Borislav Petkov <bp@alien8.de>, Jonathan Corbet <corbet@lwn.net>,
	Peter Zijlstra <peterz@infradead.org>,
	Andy Lutomirski <luto@amacapital.net>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	linux-api@vger.kernel.org, linux-kernel@vger.kernel.org,
	x86@kernel.org, linux-arch@vger.kernel.org
Subject: Re: [PATCH v2] Documentation/arch: Add kernel feature descriptions and arch support status under Documentation/features/
Date: Thu, 14 May 2015 21:59:25 +0200	[thread overview]
Message-ID: <20150514195925.GA27570@gmail.com> (raw)
In-Reply-To: <20150514123835.1bf436bc35d711f8dbf9bc0f@linux-foundation.org>


* Andrew Morton <akpm@linux-foundation.org> wrote:

> > Add arch support matrices for more than 40 generic kernel features
> > that need per architecture support.
> > 
> > Each feature has its own directory under Documentation/features/feature_name/,
> > and the arch-support.txt file shows its current arch porting status.
> > 
> > For example, lockdep support is shown the following way:
> > 
> >     triton:~/tip> cat Documentation/features/lockdep/arch-support.txt
> >     #
> >     # Feature name:          lockdep
> >     #         Kconfig:       LOCKDEP_SUPPORT
> >     #         description:   arch supports the runtime locking correctness debug facility
> >     #
> >         -----------------------
> >         |         arch |status|
> >         -----------------------
> > ...
> >         |      xtensa: |  ok  |
> >         -----------------------
> > 
> > For generic kernel features that need architecture support, the
> > arch-support.txt file in each feature directory shows the arch
> > support matrix, for all upstream Linux architectures.
> > 
> > The meaning of entries in the tables is:
> > 
> >     | ok |  # feature supported by the architecture
> >     |TODO|  # feature not yet supported by the architecture
> >     | .. |  # feature cannot be supported by the hardware
> 
> Presumably there will be instances where the maintainer decides "we 
> shall not implement that".

So I tried to limit the list of features to those that represent the 
overall progress of the generic kernel and are recommended on all 
architectures that are able to support it.

There are certainly features that are opt-in. We could still list them 
here as well, because this is a convenient central index, but would 
mark them not with 'TODO' but with a low-key '..' marking?

On the other end of the spectrum we could also define 'must have' 
features for new architectures. For example modern-timekeeping and 
clockevents.

The patch that adds a new architecture to all these files would give 
us a good overview about how complete an initial port is.

> > This directory structure can be used in the future to add other 
> > files - such as porting guides, testing description, etc.
> 
> I suppose so.  Having a great bunch of directories, each containing 
> a single file is a bit odd.

It's a starting point and nicely extensible. I was thinking about one 
more intermediate level:

   Documentation/features/locking/lockdep/
   Documentation/features/locking/rwsem-optimized/
   Documentation/features/locking/queued-rwlocks/
   Documentation/features/locking/queued-spinlocks/
   ...

   Documentation/features/vm/PG_uncached/
   Documentation/features/vm/pmdp_splitting_flush/
   Documentation/features/vm/pte_special/
   ...

The advantage of this, beyond more structure, would be that I'd 
probably move most of the Documentation/locking/*.txt files into 
Documentation/features/locking/, for example lockdep-design.txt would 
go into Documentation/features/locking/lockdep/.

I'd keep the hierarchy at a predictable depth though, i.e.:

   Documentation/features/<subsystem>/<feature_name>/

> It would be nice to provide people with commit IDs to look at, but 
> the IDs won't be known at the time the documentation file is 
> created.  We could provide patch titles.

Ok.

> But still, let's not overdo it - get something in there, see how 
> well it works, evolve it over time.

Yeah.

> I don't think we've heard from any (non-x86) arch maintainers?  Do 
> they consider this useful at all?  Poke.

I think we god some feedback from the PowerPC side, but yeah, would be 
nice to get more reactions.

Thanks,

	Ingo

  reply	other threads:[~2015-05-14 20:00 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-11 19:29 [PATCHv2 1/2] clone: Support passing tls argument via C rather than pt_regs magic Josh Triplett
2015-05-12 21:22 ` Andrew Morton
2015-05-12 21:38   ` Peter Zijlstra
2015-05-12 21:49     ` Andrew Morton
2015-05-13  8:34       ` [RFC PATCH] Documentation/arch: Add Documentation/arch-TODO Ingo Molnar
2015-05-13  8:56         ` [RFC PATCH v2] " Ingo Molnar
2015-05-13  9:24           ` [RFC PATCH v3] " Ingo Molnar
2015-05-13  9:46             ` Ingo Molnar
2015-05-13  9:47               ` [RFC PATCH v5] " Ingo Molnar
2015-05-13 13:18                 ` Borislav Petkov
2015-05-13 13:48                   ` [RFC PATCH v6] Documentation/arch: Add Documentation/arch-features.txt Ingo Molnar
2015-05-13 16:27                     ` Josh Triplett
2015-05-13 16:53                       ` Josh Triplett
2015-05-14 10:16                         ` Ingo Molnar
2015-05-14 10:31                           ` Josh Triplett
2015-05-13 22:05                       ` Andrew Morton
2015-05-14 10:02                         ` Ingo Molnar
2015-05-14 10:15                         ` [PATCH] Documentation/arch: Add kernel feature descriptions and arch support status under Documentation/features/ Ingo Molnar
2015-05-14 10:35                           ` [PATCH v2] " Ingo Molnar
2015-05-14 19:38                             ` Andrew Morton
2015-05-14 19:59                               ` Ingo Molnar [this message]
2015-05-14 22:33                                 ` Stephen Rothwell
2015-05-15  7:38                                   ` Ingo Molnar
2015-05-15  7:51                                     ` Ingo Molnar
2015-05-15  9:37                                 ` Ingo Molnar
2015-05-14 20:34                               ` Richard Weinberger
2015-05-14 22:57                               ` Michael Ellerman
2015-05-15  7:49                                 ` Ingo Molnar
2015-05-18  1:37                                   ` Michael Ellerman
2015-05-18  8:54                                     ` Ingo Molnar
2015-05-19  2:02                                       ` Michael Ellerman
2015-05-22 15:49                             ` Jonathan Corbet
2015-05-23  8:07                               ` Ingo Molnar
2015-05-24 18:44                                 ` Jonathan Corbet
2015-06-03 11:03                                   ` [GIT PULL] Documentation/features: Add kernel feature descriptions and arch support status files " Ingo Molnar
2015-06-08 23:08                                     ` Jonathan Corbet
2015-05-14  7:08                       ` [RFC PATCH v6] Documentation/arch: Add Documentation/arch-features.txt Ingo Molnar
2015-05-14  3:55                     ` Paul Mackerras
2015-05-14  7:02                       ` Ingo Molnar
2015-05-13 14:09                 ` [RFC PATCH v5] Documentation/arch: Add Documentation/arch-TODO Michele Curti
2015-05-13 14:42                   ` Geert Uytterhoeven
2015-05-14  7:21                     ` H. Peter Anvin
2015-05-14  7:21                     ` H. Peter Anvin
2015-05-13  0:53   ` [PATCHv2 1/2] clone: Support passing tls argument via C rather than pt_regs magic josh
2015-05-13 22:56 ` Andrew Morton
2015-05-13 23:25   ` josh

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=20150514195925.GA27570@gmail.com \
    --to=mingo@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=bp@alien8.de \
    --cc=corbet@lwn.net \
    --cc=hpa@zytor.com \
    --cc=josh@joshtriplett.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=x86@kernel.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;
as well as URLs for NNTP newsgroup(s).