From: "H. Peter Anvin" <hpa@zytor.com>
To: David Howells <dhowells@redhat.com>
Cc: rdunlap@xenotime.net, hpa@kernel.org, matthew@wil.cx,
linux-arch@vger.kernel.org, ralf@linux-mips.org
Subject: Re: [PATCH 00/39] UAPI header file split [ver #2]
Date: Thu, 14 Jul 2011 14:53:32 -0700 [thread overview]
Message-ID: <4E1F655C.5040104@zytor.com> (raw)
In-Reply-To: <20110708142244.31344.24941.stgit@warthog.procyon.org.uk>
On 07/08/2011 07:22 AM, David Howells wrote:
>
> Here's my first installment of patches to clean up the kernel header files and
> sort out the recursion problems. The planned steps are:
>
> (1) Split the Userspace API (UAPI) out of the kernel headers into its own
> header directories.
>
> (2) Move stuff out of the Kernel API (KAPI) headers that can be contained in
> individual directories as it is referenced by a single file or directory
> of files.
>
> (3) Make coherent what can be found in commmon arch headers and disintegrate
> asm/system.h.
>
> (4) Split some headers into definitions containers and inline function
> containers to clean up recursion problems. The main culprit is very
> likely to be linux/sched.h, I think.
>
> (5) I'd like to split some headers (e.g. linux/security.h) to reduce the
> conditional recompilation burden. linux/security.h could have, for
> instance, struct security_operations split out into a header file private
> to the stuff in the security/ directory as the wrappers of its function
> pointers are now out of lined in security/security.c.
>
> (6) Replace the traditional anti-reinclusion guards on header files with
> three-state anti-recursion guards that abort compilation if recursive
> inclusion is encountered.
>
> (7) Provide a script to go through and rejig the #includes of each source file
> to have just the ones that are actually required.
>
> (8) Provide a make target that tests all the KAPI and UAPI headers by simply
> passing them one at a time to the compiler and attempting to compile them.
By the way, I haven't commented on this in detail, but I like the concept.
-hpa
prev parent reply other threads:[~2011-07-14 21:53 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-08 14:22 [PATCH 00/39] UAPI header file split [ver #2] David Howells
2011-07-08 14:22 ` [PATCH [ver #2] 01/39] UAPI: Add script to convert #include "..." to #include <path/...> in sys headers David Howells
2011-07-08 14:23 ` [PATCH [ver #2] 02/39] UAPI: Convert #include "..." to #include <path/...> in kernel system headers David Howells
2011-07-08 14:23 ` [PATCH [ver #2] 03/39] UAPI: Add script to audit drivers/gpu/ for #including system headers with "..." David Howells
2011-07-08 14:23 ` [PATCH [ver #2] 05/39] UAPI: Add include/uapi/ directories to build David Howells
2011-07-08 14:23 ` [PATCH [ver #2] 06/39] UAPI: Differentiate userspace build and kernelspace build include path sets David Howells
2011-07-08 14:24 ` [PATCH [ver #2] 07/39] UAPI: Fix AHZ multiple inclusion when __KERNEL__ is removed David Howells
2011-07-08 14:24 ` [PATCH [ver #2] 08/39] UAPI: ac_etime in linux/acct.h must keep its __KERNEL__ guards David Howells
2011-07-08 14:24 ` [PATCH [ver #2] 09/39] UAPI: Make linux/patchkey.h easier to parse David Howells
2011-07-08 14:24 ` [PATCH [ver #2] 10/39] UAPI: Don't have a #elif clause in a __KERNEL__ guard in linux/soundcard.h David Howells
2011-07-08 14:24 ` [PATCH [ver #2] 11/39] UAPI: Fix nested __KERNEL__ guards in video/edid.h David Howells
2011-07-08 14:24 ` [PATCH [ver #2] 12/39] UAPI: Split trivial #if defined(__KERNEL__) && X conditionals David Howells
2011-07-08 14:25 ` [PATCH [ver #2] 13/39] UAPI: Remove the inclusion of linux/types.h from x86's asm/page.h David Howells
2011-07-08 14:25 ` [PATCH [ver #2] 14/39] UAPI: Fix definition of HZ in asm-generic/param.h David Howells
2011-07-08 14:25 ` [PATCH [ver #2] 15/39] UAPI: elf_read_implies_exec() is a kernel-only feature - so hide from userspace David Howells
2011-07-08 14:25 ` [PATCH [ver #2] 16/39] UAPI: Fix sigset_t ordering problem David Howells
2011-07-08 14:25 ` [PATCH [ver #2] 17/39] UAPI: Fix E820_X_MAX " David Howells
2011-07-08 14:25 ` [PATCH [ver #2] 18/39] UAPI: Fix linux/netfilter.h inclusion order David Howells
2011-07-08 14:26 ` [PATCH [ver #2] 19/39] UAPI: Fix linux/input.h " David Howells
2011-07-08 14:26 ` [PATCH [ver #2] 20/39] UAPI: Fix up linux/netfilter/xt_policy.h David Howells
2011-07-08 14:26 ` [PATCH [ver #2] 21/39] UAPI: Fix linux/auto_fs.h inclusion order David Howells
2011-07-08 14:26 ` [PATCH [ver #2] 22/39] UAPI: Fix drmP.h to use #include <...> when referring to system header files David Howells
2011-07-08 14:26 ` [PATCH [ver #2] 23/39] UAPI: sound/sound_core.c should include linux/fs.h David Howells
2011-07-08 14:26 ` [PATCH [ver #2] 24/39] UAPI: Fix SNDRV_*_ENDIAN ordering problem David Howells
2011-07-08 14:26 ` [PATCH [ver #2] 25/39] UAPI: Fix u_quad_t ordering problem in linux/coda.h David Howells
2011-07-08 14:27 ` [PATCH [ver #2] 26/39] UAPI: Fix linux/coda.h David Howells
2011-07-08 14:27 ` [PATCH [ver #2] 27/39] UAPI: Guard linux/isdn_divertif.h David Howells
2011-07-08 14:27 ` [PATCH [ver #2] 28/39] UAPI: Guard linux/sound.h David Howells
2011-07-08 14:27 ` [PATCH [ver #2] 29/39] UAPI: Fix linux/ncp.h David Howells
2011-07-08 14:27 ` [PATCH [ver #2] 30/39] UAPI: Fix x86_64 system call count and generation David Howells
2011-07-08 14:27 ` [PATCH [ver #2] 31/39] UAPI: Fix arch/mips/include/asm/Kbuild to have separate header-y lines David Howells
2011-07-08 16:04 ` Ralf Baechle
2011-07-08 14:28 ` [PATCH [ver #2] 32/39] UAPI: Add a script to create a commit to set up new UAPI dirs David Howells
2011-07-08 14:28 ` [PATCH [ver #2] 33/39] UAPI: Set up UAPI Kbuild files David Howells
2011-07-08 14:28 ` [PATCH [ver #2] 34/39] UAPI: Plumb the UAPI Kbuilds into the user header handling system David Howells
2011-07-08 14:28 ` [PATCH [ver #2] 35/39] UAPI: Set up uapi/asm/Kbuild.asm David Howells
2011-07-08 14:28 ` [PATCH [ver #2] 36/39] UAPI: Move linux/version.h David Howells
2011-07-08 14:29 ` [PATCH [ver #2] 37/39] UAPI: Make UAPI headers install to usr/include/ David Howells
2011-07-08 14:29 ` [PATCH [ver #2] 38/39] UAPI: Fix the page-types query program in the docs David Howells
2011-07-08 14:29 ` [PATCH [ver #2] 39/39] UAPI: Scripts to disintegrate header files David Howells
2011-07-11 4:38 ` [PATCH 00/39] UAPI header file split [ver #2] Randy Dunlap
2011-07-11 14:38 ` David Howells
2011-07-14 21:53 ` H. Peter Anvin [this message]
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=4E1F655C.5040104@zytor.com \
--to=hpa@zytor.com \
--cc=dhowells@redhat.com \
--cc=hpa@kernel.org \
--cc=linux-arch@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=ralf@linux-mips.org \
--cc=rdunlap@xenotime.net \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.