[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