Thread (75 messages) 75 messages, 8 authors, 2012-09-14

Re: [PATCH v7 9/9] block: Avoid deadlocks with bio allocation by stacking drivers

From: Vivek Goyal <hidden>
Date: 2012-08-29 01:32:09
Also in: dm-devel, lkml

On Tue, Aug 28, 2012 at 04:01:08PM -0700, Kent Overstreet wrote:
On Tue, Aug 28, 2012 at 03:28:00PM -0700, Kent Overstreet wrote:
quoted
On Tue, Aug 28, 2012 at 01:49:10PM -0700, Tejun Heo wrote:
quoted
Overall, I *think* this is correct but need to think more about it to
be sure.
Please do. As much time as I've spent staring at this kind of stuff,
I'm pretty sure I've got it correct but it still makes my head hurt to
work out all the various possible deadlocks.
Hilarious thought: We're punting bios to a rescuer thread that's
specific to a certain bio_set, right? What if we happen to punt bios
from a different bio_set? And then the rescuer goes to resubmit those
bios, and in the process they happen to have dependencies on the
original bio_set...
Are they not fully allocated bios and when you submit these to underlying
device, ideally we should not be sharing memory pool at different layers
of stack otherwise we will deadlock any way as stack depth increases. So
there should not be a dependency on original bio_set?

Or, am I missing something. May be an example will help.

Thanks
Vivek
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help