On Wed, Jul 13 2005, Andi Kleen wrote:
> Nathan Scott <nathans@xxxxxxx> writes:
> > On Tue, Jul 12, 2005 at 06:48:11PM +0200, Alexander Bergolth wrote:
> > > On 07/08/2005 06:37 AM, Nathan Scott wrote:
> > > >...
> > > > As other cases pop up (with a reproducible test case please, and
> > > > no stacking drivers in the way too :), we slowly iron them out..
> > ^^^^^^^^^^^^^^^^^^^^^^^^^^
> > *cough*
> > > I'm getting frequent stack overflows on one system, using xfs, lvm2,
> > > sw-raid and libata but I don't know, if they are XFS-related.
> > Hmmm - xfs on lvm on md on ide ...? Looks like its death by
> > a thousand cuts.. thats the sort of case Steve keeps talking
> > about. You will be able to crash using any filesystem doing
> > this, eventually - and we haven't even got NFS in the picture
> > here yet.
> Eventually even 8k stack systems might run into problems.
> A generic way to solve this would be to let the block layer
> who calls into the various stacking layers check how much stack is left
> first and when it is too low push the work to another thread using
> a workqueue.
> Jens, do you think that would be feasible?
(sorry for the late reply, vacation)
Sounds like a possible solution for the problem. 4kb stack is never
going to be completely enough for some block layer stacking setups.
Would need some careful work, I don't want to see each and every io
pushed to a worker for processing and potentially incurring 2 context
switches per io.