[lkml]   [2002]   [May]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: kbuild 2.5 is ready for inclusion in the 2.5 kernel
    On Thu, 2 May 2002, Keith Owens wrote:

    > Linus, kbuild 2.5 is ready for inclusion in the main 2.5 kernel tree.
    > It is faster, better documented, easier to write build rules in, has
    > better install facilities, allows separate source and object trees, can
    > do concurrent builds from the same source tree and is significantly
    > more accurate than the existing kernel build system.

    Faster ... ?

    The time I care about is the module rebuild time. From various posts I had
    the impression that it was significantly improved. I don't find that to be
    the case unless I'm being "foolhardy" and specify various flags or
    otherwise bypass the system.

    The time to rebuild everything isn't that interesting to me as it's too
    long anyway to sit around and wait for it to complete. Maybe that is where
    the improvements are.

    Here is how I work. First I configure and build a complete kernel for the
    .config I use. Something like:

    cp ../.config-2.5 .config
    make -f Makefile-2.5 oldconfig
    make -f Makefile-2.5 installable

    Then I will do a number of rebuild modules & install cycles, where the
    environment does not change (.config, tools, etc) except for the module I
    am working on. The times I get for various things are:

    A - Time to rebuild smbfs.o with proc.c changed:
    time make -f Makefile-2.5 fs/smbfs/smbfs.o
    51.910u 2.760s 0:54.95 99.4% 0+0k 0+0io 102368pf+0w

    B - Same, with NO_MAKEFILE_GEN=1, 1st run:
    time make -f Makefile-2.5 NO_MAKEFILE_GEN=1 fs/smbfs/smbfs.o
    28.280u 0.600s 0:28.91 99.8% 0+0k 0+0io 27014pf+0w

    C - Same, with NO_MAKEFILE_GEN=1, 2nd run:
    time make -f Makefile-2.5 NO_MAKEFILE_GEN=1 fs/smbfs/smbfs.o
    0.910u 0.420s 0:01.33 100.0% 0+0k 0+0io 21928pf+0w

    D - Installing as root:
    time make -f Makefile-2.5 install
    1.110u 0.960s 0:02.63 78.7% 0+0k 0+0io 34905pf+0w

    E - proc.c changed, module rebuild+install with the 2.4 build system
    (separate tree from above):
    time make modules modules_install
    21.160u 2.020s 0:23.12 100.2% 0+0k 0+0io 50927pf+0w

    (Built on 2.5.8, 2xPIII 500, 512M, kbuild core-11, 2.5.13 tree)

    A + D > 2 * E, and this is the way it's supposed to be used, no?
    B + D > E
    C + D < E, but C becomes a B after installing as the install wants to be
    run with NO_MAKEFILE_GEN not set.

    The difference between B and C is that pp_makefile4 is run.

    I have seen you claim that it is faster, and others have repeated that. I
    just wonder at doing what?

    A full build it was slightly faster 12:00.47 vs 12:20.55, but here the
    kbuild-2.5 build was run twice since I missed that it otherwise uses kgcc
    (which makes it ~3 minutes faster) and the "2.4" build did an install
    also. So that's about equal.

    make oldconfig is also slower 0:21.06 vs, 0:04.55 since it runs phase1
    first, and that was done outside the timed command.

    Shadow trees sounds interesting. I'm sure others see great benefit from
    being able to build over NFS or having stricter integrity checks. I just
    don't get the faster bit, but maybe that's just me.


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:25    [W:0.024 / U:111.376 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site