Re: RFC - how to balance Dirty+Writeback in the face of slow writeback.

Trond Myklebust
2006-08-17T12:37:10Z

On Wed, 2006-08-16 at 23:14 -0700, Andrew Morton wrote:
> btw, one thing which afaik NFS _still_ doesn't do is to wake up processes
> which are stuck in blk_congestion_wait() when NFS has retired a bunch of
> writes. It should do so, otherwise NFS write-intensive workloads might end
> up sleeping for too long. I guess the amount of buffering and hysteresis
> we have in there has thus far prevented any problems from being observed.

Are we to understand it that you consider blk_congestion_wait() to be an
official API, and not just another block layer hack inside the VM?

'cos currently the only tools for waking up processes in
blk_congestion_wait() are the two routines:

static void clear_queue_congested(request_queue_t *q, int rw)
and
static void set_queue_congested(request_queue_t *q, int rw)

in block/ll_rw_blk.c. Hardly a model of well thought out code...

Trond