Thread (85 messages) 85 messages, 8 authors, 2007-09-02

Re: Block device throttling [Re: Distributed storage.]

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help