Re: Block device throttling [Re: Distributed storage.]
From: Evgeniy Polyakov <hidden>
Date: 2007-08-13 08:14:41
Also in:
linux-fsdevel, netdev
From: Evgeniy Polyakov <hidden>
Date: 2007-08-13 08:14:41
Also in:
linux-fsdevel, netdev
On Sun, Aug 12, 2007 at 11:44:00PM -0700, Daniel Phillips (phillips@phunq.net) wrote:
On Sunday 12 August 2007 22:36, I wrote:quoted
Note! There are two more issues I forgot to mention earlier.Oops, and there is also: 3) The bio throttle, which is supposed to prevent deadlock, can itself deadlock. Let me see if I can remember how it goes. * generic_make_request puts a bio in flight * the bio gets past the throttle and initiates network IO * net calls sk_alloc->alloc_pages->shrink_caches * shrink_caches submits a bio recursively to our block device * this bio blocks on the throttle * net may never get the memory it needs, and we are wedged
If system is in such condition, it is already broken - throttle limit must be lowered (next time) not to allow such situation. -- Evgeniy Polyakov