Re: 4K stack kernel get Oops in Filesystem stress test

From: Nathan Scott
Date: Wed Jul 28 2004 - 20:20:14 EST


On Thu, Jul 22, 2004 at 09:27:44AM +0200, Amon Ott wrote:
> On Dienstag, 20. Juli 2004 16:39, Jeffrey E. Hundstad wrote:
> > Steve Lord wrote:
> > > Don't use 4K stacks and XFS. What you hit here is a path where the
> > > filesystem is getting full and it needs to free some reserved space
> > > by flushing cached data which is using reserved extents. Reserved
> > > extents do not yet have an on disk address and they include a
> > > reservation for the worst case metadata usage. Flushing them will
> > > get you room back.
> > >
> > > As you can see, it is a pretty deep call stack, most of XFS is going
> > > to work just fine with a 4K stack, but there are end cases like
> > > this one which will just not fit.

Actually, this area of the code has been a source of several
deadlocks, so we need to consider reworking how we do this
anyay (helper thread or something along those lines) - that
would also help to address the stack depth problem here, and
this spot is probably the worst-case situation for stack use
in XFS.

> > If this is a known truth with XFS maybe it would be a good idea to have
> > 4K stacks and XFS be an impossible combination using the config tool.

I would prefer not to do that, we want to know where the problems
are - if we hide them like this it will just make them harder to
find and resolve. Certainly XFS is not the only subsystem with
problems here (even saw an _ext2_ stack overflow go past recently,
and I believe other filesystems can be much worse) - & when stacked
volume managers and other drivers enter the picture...

> It would be good if there was some warning in the 4K stack option help,
> there have been quite many cases already where the kernel broke with odd
> symptoms because of this switch.
>
> E.g.
> Warning: Use this option with care, as it might break your system under
> load. If you experience weird crashes or oopses, please retry with this
> option turned off.

If its not done already, perhaps 4KSTACKS could be reported in
the oops message (like PREEMPT and one or two other things are,
IIRC)?

cheers.

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