[OE-core] [PATCH] kernel: Use hardlinks during do_install for speed

Andrea Adami andrea.adami at gmail.com
Sat Nov 9 20:53:52 UTC 2013


On Sat, Nov 9, 2013 at 9:33 PM, Andrea Adami <andrea.adami at gmail.com> wrote:
> On Fri, Nov 8, 2013 at 5:53 PM, Richard Purdie
> <richard.purdie at linuxfoundation.org> wrote:
>> On Fri, 2013-11-08 at 16:48 +0000, Hart, Darren wrote:
>>> On Fri, 2013-11-08 at 15:17 +0000, Richard Purdie wrote:
>>> > Whilst the comment says we can't do this, its incorrect, install operates
>>> > on WORKDIR and its hard for different parts of WORKDIR to be on different
>>>
>>> Is it hard? Or is it not possible / not supported?
>>
>> Not really possible unless you try very hard. Its not supported. We
>> don't even support WORKDIR and sysroot on different disks really.
>>
>>> My understanding was it was possible and therefor we couldn't hardlink.
>>> I'm thrilled at the prospect of being wrong there though!
>>
>> I'm happy enough to decide we don't support it (and we never have).
>>
>>> > filesystems. Hardlinking instead of copying is therefore a nice performance
>>> > gain.
>>> >
>>> > Also, completely skip the Documentation directory (adding a dummy Makefile
>>> > to keep make happy) and tweak the other cp commands to link since if we
>>> > don't we'd get "this is the same file" type errors from cp for some kernel
>>> > versions.
>>> >
>>> > For do_install on linux-yocto, this takes it from 227s -> 84s.
>>>
>>> This, and the others, are fantastic improvements, thanks RP!
>>
>> I'm rather happy to find something we can easily fix :)
>>
>> Cheers,
>>
>> Richard
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
> On my old quad core:
>
> Before: 131.01 seconds
> After: 102.29 seconds
>

Somehow with both patches for hardlink and after some -ccleanall I'm
now down to 84-85 secs.

I expect even more from the /lib/oe/path patch which is atm broken on my setup.

Many Thanks !

Andrea



More information about the Openembedded-core mailing list