On Thu, 2020-03-19 at 08:05 +0000, Mikko Rapeli wrote:
> Once this is done, IO still happens when anything calls sync() and
> fsync() and worst offenders are package management tools. In yocto
> builds, package manager actions to flush to disk are always useless
> since rootfs images are going to be compressed and original ones
> wiped by rm_work anyway.
> I've tried to hook eatmydata library into the build which makes
> sync() and fsync() calls no-ops but I've still failed to fix all the
> tools and processes called during build from python code. For shell
> based tasks this does it:
> 
> $ export LD_LIBRARY_PATH=/usr/lib/libeatmydata
> $ export LD_PRELOAD=libeatmydata.so
> $ grep -rn LD_PRELOAD conf/local.conf
> conf/local.conf:305:BB_HASHBASE_WHITELIST_append = " LD_PRELOAD"
> conf/local.conf:306:BB_HASHCONFIG_WHITELIST_append = " LD_PRELOAD"

Doesn't pseudo intercept and stop these sync calls already? Its
supposed to so if its not, we should fix that.

> The effect is clearly visible during build time using Performance Co-
> Pilot (pcp) or similar tools to monitor CPU, memory, IO and network
> IO. The usage of RAM as page cache grows until limits are hit and
> only then writes to disk start, except for the python image
> classes... Hints to fix this are welcome!
> 
> To my knowledge of monitoring our builds, there is a lot of
> optimization
> potential to better build times. CPU are under utilized during
> bitbake recipe parsing

Recipe parsing should hit 100% CPU, its one of the few places we can do
that.

> , fetch, configure, package and rootfs tasks. 

Sadly these tasks are much harder.

> Memory is not fully utilized either since IO through sync()/fsync()
> happens everywhere

non-pseudo tasks?

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#48852): https://lists.yoctoproject.org/g/yocto/message/48852
Mute This Topic: https://lists.yoctoproject.org/mt/72047879/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to