[Buildroot] Analysis of build results for 2014-04-19
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Apr 23 07:22:09 UTC 2014
Dear Arnout Vandecappelle,
On Wed, 23 Apr 2014 00:14:26 +0200, Arnout Vandecappelle wrote:
> > True. Currently the KCONFIG_PROBABILITY is chosen between 1% and 35%.
> > Should I reduce that to 30% ? 25% ?
>
> 25% still means 300 packages, and I think that that doesn't even include
> their dependencies. Isn't that exaggerated? I think that any defconfig
> with more than 50 packages is not very realistic anymore...
>
> Also, the interesting failures (with missing dependencies) are more
> likely to fall out when less packages are selected, right?
>
> So my suggestion is to reduce the probability to 15% (still 180 packages
> in the defconfig...).
Not really, because your calculations make the assumption that there is
one BR2_PACKAGE_<foo> option per package. But that's not true: certain
packages have several, sometimes dozens of BR2_PACKAGE_<foo> options
(think Qt4, Qt5, Python, etc.). And the percentage of randomization is
done per BR2_PACKAGE_<foo> options, not per package.
A quick analysis shows a total of 2832 BR2_PACKAGE_<foo> options
defined in Buildroot for around 1200 packages, so in average we have a
little more than 2 Config.in options per package.
Also, by having a much smaller percentage, I'm wondering if we have a
lot less chances to trigger cases that require a fairly significant
combination of options to be produced.
I've anyway reduced the percentage from 1% to 30% (where it was 1% to
35%). I'm obviously open to more discussion on the matter, reducing to
30% was just an initial measure.
> > So let's say that I'll reduce the KCONFIG_PROBABILITY on one side, and
> > increase the timeout for all builds by an hour on the other side. How
> > does that look?
>
> The timeout is already 4 hours, isn't it? That's already quite long IMHO.
Yes, that's quite large, but I've anyway increased it to 6 hours. The
goal of the time out was *only* to make sure builds entering some quite
of infinite loop terminate at some point (we used to have a PowerPC
toolchain whose 'ld' was buggy, and was entering an infinite loop when
building a certain package).
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the buildroot
mailing list