Thread (26 messages) 26 messages, 10 authors, 2011-01-15

Re: on builds/randconfigs

From: Vegard Nossum <hidden>
Date: 2011-01-15 12:25:01
Also in: linux-acpi, lkml

On 13 January 2011 13:23, Michal Marek [off-list ref] wrote:
On 12.1.2011 22:58, Len Brown wrote:
quoted
quoted
quoted
These unusable config combinations should be prevented via Kconfig.
That prevents users from selecting them, which otherwise adds to
our workload and to theirs.  It also prevents false-positives
during our useful randconfig testing.
But it is kind of difficult to achieve IMhO.  For example, there are options
that are only SELECTed if something else is set, but randconfig doesn't seem
to care.
Kconfig select needs to be fixed so that it is not possible to
select something if that something's dependencies are not met.
Right now, it issues a warning in such case. I think changing it to a
fatal error would be too premature, not long ago there were a couple of
annoying false positives.

But from the rest of the thread, I conclude that you actually meant "not
possible to select something if that something's dependencies CANNOT be
met", i.e. automatically select dependencies if that is possible. That
was actually one of the goals of Vegard Nossum's GSoC poject last year,
but I haven't heard of any outcome yet. Vegard, is there something we
could use, be it code or mistakes we could learn from?
Maybe I am wrong, but doesn't conf_write() actually take care of this
when it does that sym_calc_value() for all the symbols? Or maybe
that's the problem (i.e. that it doesn't).

Current satconfig code can be changed to produce random configs (that
nevertheless respect the user's choices) with a 1-line patch. But
there are some other issues to be worked out, mainly that conf_write()
doesn't respect all the choices that the SAT solver made. There could
be several reasons for that: 1. satconfig doesn't deal with
hex/int/string values and relies on conf_write() to fill in those
(this is a plain old bug), 2. the translation into boolean logic is
subtly wrong, perhaps a corner case or something like that, and/or 3.
conf_write() does something wrong.

I'll be happy to give a tour of the satconfig code if you or anybody
else would like to start hacking on it.


Vegard
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help