Re: Random panic in load_balance() with 3.16-rc

Markus Trippelsdorf
2014-07-28T18:09:10Z

On 2014.07.28 at 10:27 -0700, Alexei Starovoitov wrote:
> On Mon, Jul 28, 2014 at 09:45:45AM -0700, Linus Torvalds wrote:
> > On Mon, Jul 28, 2014 at 5:26 AM, Frank Ch. Eigler <fche@redhat.com> wrote:
> > >
> > > Please note that the data produced by "-g -fvar-tracking" is consumed
> > > by tools like systemtap, perf, crash, and makes a significant
> > > difference to the observability of debug AND non-debug kernels.
> >
> > Yeah, and compared to having a buggy kernel, I care exactly this much: "".
>
> It's not pretty, but adding it unconditionally was the right thing to do.
> Black listing compiler versions is too fragile.
> Look at the flip side: now size of build dir will be much smaller :)

It shouldn't be too hard to implement a simple check for the bug in the
next release. Just compile the gcc/testsuite/gcc.target/i386/pr61801.c
testcase with -fcompare-debug. If gcc returns 0 then
-fvar-tracking-assignments could safely be enabled again.

Here's the testcase:

int a, b, c;
void fn1 ()
{
int d;
if (fn2 () && !0)
{
b = (
{
int e;
fn3 ();
switch (0)
default:
asm volatile("" : "=a"(e) : "0"(a), "i"(0));
e;
});
d = b;
}
c = d;
}

--
Markus