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

Andrea Adami andrea.adami at gmail.com
Sat Nov 9 20:38:55 UTC 2013


On Fri, Nov 8, 2013 at 6:23 PM, Hart, Darren <darren.hart at intel.com> wrote:
> On Fri, 2013-11-08 at 16:50 +0000, Richard Purdie wrote:
>> On Fri, 2013-11-08 at 10:59 -0500, Bruce Ashfield wrote:
>> > On 13-11-08 10:55 AM, Richard Purdie wrote:
>> > > On Fri, 2013-11-08 at 10:41 -0500, Bruce Ashfield wrote:
>> > >> On 13-11-08 10:18 AM, Richard Purdie wrote:
>> > >>> The kernel tree is large and doesn't need to be copied. Override
>> > >>> the default sysroot handling function to use a hardlink copying
>> > >>> function in python.
>> > >>>
>> > >>> This commit also drops the copying of the /lib directory which
>> > >>> just contains the kernel modules. We never use those in the sysroot
>> > >>> so there is little point in carrying those around.
>> > >>>
>> > >>> For linux-yocto this takes the do_populate_sysroot time 24s -> 14s.
>> > >>
>> > >> Fantastic. One less thing for me to dig into later. I thought this
>> > >> was already in place, so I'm pleasantly surprised that there was a
>> > >> time savings to be found!
>> > >
>> > > I was somewhat surprised too.
>> > >
>> > > We still need to optimise what we install in do_install since that is
>> > > where significant gains can still be made.
>> >
>> > Agreed. I started some changes in that area right after ELC-e, I'll
>> > try and get them out sooner rather than later.
>>
>> I thought I'd share this for people's interest:
>>
>> http://dan.rpsys.net/kernelbuildissue.png
>>
>> Its the output from pybootchart of a bitbake core-image-sato from
>> scratch. I've zoomed out to put some bars in particular into
>> perspective.
>>
>> The pink colour is linux-yocto:do_install, the cyan is
>> linux-yocto:do_package and the blue is linux-yocto:do_populate_sysroot.
>> The uncoloured bar at the bottom is linux-yocto:do_package_write_rpm.
>>
>> So the final thing to build is the kernel by quite some margin, its
>> holding the rest of the build up.
>>
>> Hopefully these patches start to improve that a bit!
>>
>
> Yup, linux-yocto do_package is the biggest build-time hindrance for me
> and something we've wanted to look into for a long time. Great to see
> some progress.
>
> --
> Darren Hart
> Intel Open Source Technology Center
> Yocto Project - Linux Kernel
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

On my old quad core:

Before: 95.24 seconds
After: 83.25 seconds

Thanks

Andrea



More information about the Openembedded-core mailing list