[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] [PATCH v7 9/9] block: Avoid deadlocks with bio allocation by stacking drivers
- From: Tejun Heo <tj kernel org>
- To: Vivek Goyal <vgoyal redhat com>
- Cc: Jens Axboe <axboe kernel dk>, Kent Overstreet <koverstreet google com>, Dave Chinner <david fromorbit com>, dm-devel redhat com, linux-kernel vger kernel org, linux-bcache vger kernel org, Mikulas Patocka <mpatocka redhat com>, bharrosh panasas com
- Subject: Re: [dm-devel] [PATCH v7 9/9] block: Avoid deadlocks with bio allocation by stacking drivers
- Date: Tue, 4 Sep 2012 11:26:33 -0700
Hello,
On Tue, Sep 04, 2012 at 09:54:23AM -0400, Vivek Goyal wrote:
> > Given that we are working around stack depth issues in the
> > filesystems already in several places, and now it seems like there's
> > a reason to work around it in the block layers as well, shouldn't we
> > simply increase the default stack size rather than introduce
> > complexity and performance regressions to try and work around not
> > having enough stack?
>
> Dave,
>
> In this particular instance, we really don't have any bug reports of
> stack overflowing. Just discussing what will happen if we make
> generic_make_request() recursive again.
I think there was one and that's why we added the bio_list thing.
> > I mean, we can deal with it like the ia32 4k stack issue was dealt
> > with (i.e. ignore those stupid XFS people, that's an XFS bug), or
> > we can face the reality that storage stacks have become so complex
> > that 8k is no longer a big enough stack for a modern system....
>
> So first question will be, what's the right stack size? If we make
> generic_make_request() recursive, then at some storage stack depth we will
> overflow stack anyway (if we have created too deep a stack). Hence
> keeping current logic kind of makes sense as in theory we can support
> arbitrary depth of storage stack.
But, yeah, this can't be solved by enlarging the stack size. The
upper limit is unbound.
Thanks.
--
tejun
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]