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.090 / U:0.364 seconds]
    ©2003-2014 Jasper Spaans. Advertise on this site