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, 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.

    Problem 1 would be fairly simple, as the script could be changed
    slightly to prune single #include lines from headers and see if they
    still compile. But then there is problem 2.

    One possibility to tackly problem 2 would be to create a set of config
    files to use for automatic testing. Instead of compiling once, a
    header must get compiled with every config in the set. Hopefully this
    set would not grow too big.

    And in the end, there is just so much you can automate. Humans have
    to think about the changes before sending patches.

    Jörn

    --
    Optimizations always bust things, because all optimizations are, in
    the long haul, a form of cheating, and cheaters eventually get caught.
    -- Larry Wall
    -
    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 23:43    [W:2.230 / U:0.076 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site