[poky] What's taking so long??
Koen Kooi
koen at dominion.thruhere.net
Thu Jan 20 08:04:13 PST 2011
Op 20 jan 2011, om 16:58 heeft Joshua Lock het volgende geschreven:
> On Thu, 2011-01-20 at 08:11 -0700, Gary Thomas wrote:
>> My target platform/distro uses IPK and I have a local kernel
>> recipe which is based on the pre linux-yocto recipe that was
>> used by Poky. When I build & package the kernel, I have
>> terrible performance - this is new, it used to be just fine.
>>
>> Here's what I mean. Building for my kernel and timing the
>> various steps, e.g.
>> % time bitbake virtual/kernel -c compile
>>
>> My kernel:
>> compile 1m49s
>> deploy 0m16s
>> populate_sysroot 0m38s
>> package 23m20s
>>
>> Just to compare, using OTS Poky for BeagleBoard:
>> compile 5m07s
>> deploy 0m36s
>> populate_sysroot 0m29s
>> package 5m02s
>>
>> That's a five-fold difference in the time to build & package
>> the kernel.
>
> This is a significant performance impact. Thanks for taking the time to
> do some profiling.
>
> I've filed a bug http://bugzilla.pokylinux.org/show_bug.cgi?id=666 and
> we'll get someone looking into that as a matter of priority.
>
>>
>> What am I doing [wrong?] that makes this so?
>> Would it be better if I switched to RPM like the BB is using?
>>
>
> It looks like the slow paths are in package format independent code, so
> probably not.
From a chat I had with RP 2 weeks ago:
Koen: there's still something slow in bitbake log output
Koen: do_package takes eons (> 10mins) with almost zero IO and CPU
Koen: ctrl-c'ing it shows it's in the installed-but-not-packaged output
Richard Purdie: poky's bitbake or upstream?
Koen: I only tried poky bitbake so far
Koen: upstream is slow as well, but I don't recall being so slow
Koen: we talked about it at ELC
Richard Purdie: My memory isn't remembering that
Richard Purdie: This is do_package for the kernel or something large?
Koen: kernel
Koen: but I think anything would trigger it
Koen: it feels like bitbake is only doing N lines of output per second
Koen: effectively throttling it
Koen: and with you have a 4k lines out output....
Richard Purdie: The message handling means thread context switching
Richard Purdie: in runqueue.py there is a number 4096 and a 0 on the line below
Richard Purdie: try changing the 0 for something like 100000
Richard Purdie: You won't get nice console output but it might run faster
Richard Purdie: Was poky running "faster" until recently?
Koen: I think so
Koen: I haven't measured it
Does doing:
Richard Purdie: in runqueue.py there is a number 4096 and a 0 on the line below
Richard Purdie: try changing the 0 for something like 100000
help?
regards,
Koen
More information about the poky
mailing list