[oe] [PATCH] Add locking on tasks that add package_update_index_ipk

Tom Rini tom_rini at mentor.com
Mon Jun 7 15:53:20 UTC 2010


Roman I Khimov wrote:
> В сообщении от Суббота 05 июня 2010 04:03:59 автор Tom Rini написал:
>> We add a lockfile of do_populate_sdk and do_rootfs (in rootfs_ipk) that
>> is also the lockfile that package_update_index_ipk uses.  With enough
>> threads it is possible that one image (or meta-toolchain) is attempting
>> to use the package index while another has only reached the point of
>> generating the index leading to an empty index being seen later on.
> 
> Am I right that effectively it makes rootfs creation sequential? It's bad for 
> performance.

Yes, this does introduce a bottleneck at these points.

> Probably it's time to fix ipkg-make-index to not touch index 
> files if no new packages are found as was suggested some time ago:
> 
> http://patchwork.openembedded.org/patch/744/
> 
> But thinking about it a bit more, ipkg-make-index hack won't really fix the 
> issue in this case, as we can have image A with a set of packages, image B 
> with a similar set of packages plus additional package P and then A would do 
> package_update_index_ipk and enter do_rootfs, then P gets completed, 
> package_update_index_ipk for B is started and the package index really needs 
> an update, thus things can break again.
 >
 > Maybe it's easier to make those indexes per-image for performance.

Right.  The problem is that we really need the index to be per user of 
the feed.  I don't know enough about ipkg to say if we could move the 
indices to ${WORKDIR} and keep the packages where they are (and then, 
what do folks that populate a feed need?) but that would solve this 
particular problem.

-- 
Tom Rini
Mentor Graphics Corporation




More information about the Openembedded-devel mailing list