Re: RFC: cleaning up the in-kernel headers

From: H. Peter Anvin
Date: Tue Jul 11 2006 - 18:02:54 EST


Jörn Engel wrote:
On Tue, 11 July 2006 13:41:06 -0700, Randy.Dunlap wrote:
On Tue, 11 Jul 2006 21:41:07 +0200 Sam Ravnborg wrote:

JÃrn Engel IIRC created a perl scrip that did this a year or two ago.
Try googling a bit.
http://lkml.org/lkml/2003/10/1/74
That is version 2 of the script. There are also versions 3 & 4.

http://marc.theaimsgroup.com/?l=linux-kernel&w=2&r=1&s=check+headers+for+complete+includes&q=t

Boy, it took me a while to remember what I did back then. In
principle, the script just compiles trivial c files with a single
#include <linux/foo.h>
inside.

Not too bad in principle, but there were two problems I couldn't
solve:
1. One of the goals should be to make a compile faster, not slower.
Adding further includes hardly helps.
2. It is practically impossible to test every possible combination of
#ifdefs in the various headers pulled in.


#1 I doubt the time taken to look at include files that are #ifndef'd in their entirety is significant (I think there is special code in gcc to handle this case fast.)

#2 is actually a non-issue. If each file is usable standalone (and have a multiple inclusion guard), then the include order shouldn't matter. Not that one can't create contrived cases where it would matter, but one can't solve every problem...

-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/