lkml.org 
[lkml]   [2002]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [Lse-tech] Re: 10.31 second kernel compile
    Martin J. Bligh wrote:
    >>Due to the final link and compress stage, there is a fair amount of idle
    >>time at the end of the run. Its going to be hard to push that number
    >>lower by adding cpus.
    >
    > I think we need to fix the final phase .... anyone got any ideas
    > on parallelizing that?
    The final linking stage in the makefile looks like this:

    vmlinux: piggy.o $(OBJECTS)
    $(LD) $(ZLINKFLAGS) -o vmlinux $(OBJECTS) piggy.o

    ld has a "-r" option
    `--relocateable'
    Generate relocatable output---i.e., generate an output
    file that can in turn serve as input to `ld'. This is
    often called partial linking. As a side effect, in
    environments that support standard Unix magic numbers,
    this option also sets the output file's magic number
    to `OMAGIC'. If this option is not specified, an
    absolute file is produced. When linking C++ programs,
    this option will not resolve references to construc­
    tors; to do that, use -Ur.

    If we link in chunks, we can parallelize this.
    Image 26 object files: [a-z].o

    ld -r -o abcd.o [abcd].o
    ld -r -o efgh.o [efgh].o
    ...
    ld -r -o abcdefgh.o {abcd,efgh,...}.o

    then, instead of the old final link stage:
    $(LD) $(ZLINKFLAGS) -o vmlinux {abcdefgh,...}.o piggy.o

    The final link will still take a while, but we will have at least broken
    up SOME of the work. I'm going to see if this will actually work now.
    Any comments?

    --
    Dave Hansen
    haveblue@us.ibm.com

    -
    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: 2005-03-22 13:24    [W:0.023 / U:60.420 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site