lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150514195925.GA27570@gmail.com>
Date:	Thu, 14 May 2015 21:59:25 +0200
From:	Ingo Molnar <mingo@...nel.org>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	Josh Triplett <josh@...htriplett.org>,
	Borislav Petkov <bp@...en8.de>,
	Jonathan Corbet <corbet@....net>,
	Peter Zijlstra <peterz@...radead.org>,
	Andy Lutomirski <luto@...capital.net>,
	Ingo Molnar <mingo@...hat.com>,
	"H. Peter Anvin" <hpa@...or.com>,
	Thomas Gleixner <tglx@...utronix.de>,
	Linus Torvalds <torvalds@...ux-foundation.org>,
	linux-api@...r.kernel.org, linux-kernel@...r.kernel.org,
	x86@...nel.org, linux-arch@...r.kernel.org
Subject: Re: [PATCH v2] Documentation/arch: Add kernel feature descriptions
 and arch support status under Documentation/features/


* Andrew Morton <akpm@...ux-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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ