Re: doublefault debugging (was Re: Linux v2.5.62 --- spontaneous reboots)

From: Linus Torvalds (torvalds@transmeta.com)
Date: Thu Feb 20 2003 - 15:20:41 EST


On 20 Feb 2003, Alan Cox wrote:
> On Thu, 2003-02-20 at 16:54, Linus Torvalds wrote:
> > Ok, the 4kB stack definitely won't work in real life, but that's because
> > we have some hopelessly bad stack users in the kernel. But the debugging
> > part would be good to try (in fact, it might be a good idea to keep the
> > 8kB stack, but with rather anal debugging. Just the "mcount" part should
> > do that).
>
> You also need IRQ stacks to get down to 4K. The wrong pattern of ten
> different IRQ handlers using a mere 200 bytes each will eventually
> happen and eventually kill you otherwise.

Martin's patch set included the per-IRQ stacks, so that part should be ok.
However, since even a single function will overflow the stack depth test
of "half the stack", I'm just saying that right now the 4kB stacks
obviously shouldn't be used for overflow testing (and the 8kB stack
version right now is way too permissive).

> > That ide_unregister() thing uses up >2kB in just one call! And there are
> > several in the 1.5kB range too, with a long list of ~500 byte offenders.
>
> ide_unregister is a really stupid one. Its copying a struct mostly to
> restore fields it shouldnt be restoring but should be setting in the
> allocator. I hadn't realised quite how bad it was. Added to the ide
> shitlist

Well, ide_unregister() was only the worst of a fairly large bunch of crap.

Although I guess nobody is really surprised.

                Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Feb 23 2003 - 22:00:31 EST