lkml.org 
[lkml]   [2006]   [Jul]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: RFC: cleaning up the in-kernel headers
On Tue, Jul 11, 2006 at 06:06:39PM +0200, Adrian Bunk wrote:
> I'd like to cleanup the mess of the in-kernel headers, based on the
> following rules:
> - every header should #include everything it uses
> - remove unneeded #include's from headers
>
> This would also remove all the implicit rules "before #include'ing
> header foo.h, you must #include header bar.h" you usually only see when
> the compilation fails.

You may want to add as a secondary goal, splitting up some of the
huge 3-headed monster include files like sched.h
(It's better than it used to be, but it still sucks, and that thing
#include's the world). Worst, iirc module.h pulls it in, which means
everything built as a module is pulling in hundreds of includes
even though most of the time, it'll never use anything from the
indirect ones.

ghviz & hviz from http://www.kernel.org/pub/linux/kernel/people/acme/
are invaluable for eyeballing include dependancies btw.
They need graphviz installed, and run like so..

ghviz include/linux/sched.h 10

to produce a pretty graph.

> There might be exceptions (e.g. for avoiding circular #include's) but
> these would be special cases.

In many cases, adding forward references is a lot cleaner than
adding dozens of indirect include dependancies.

Dave

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

\
 
 \ /
  Last update: 2006-07-11 19:11    [W:0.114 / U:0.232 seconds]
©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site