Messages in this thread | | | Date | Thu, 17 Aug 2006 08:14:15 -0700 | From | Andrew Morton <> | Subject | Re: RFC - how to balance Dirty+Writeback in the face of slow writeback. |
| |
On Thu, 17 Aug 2006 08:36:19 -0400 Trond Myklebust <trond.myklebust@fys.uio.no> wrote:
> 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... >
We've been over this before...
Take a look at blk_congestion_wait(). It doesn't know about request queues. We'd need a new
void writeback_congestion_end(int rw) { wake_up(congestion_wqh[rw]); }
or similar. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |