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

Richard Purdie richard.purdie at linuxfoundation.org
Fri Nov 8 16:50:19 UTC 2013


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!

Cheers,

Richard




More information about the Openembedded-core mailing list