Re: [PATCH][5/?] count writeback pages in nr_scanned

From: Nick Piggin
Date: Wed Jan 05 2005 - 23:40:28 EST


Andrew Morton wrote:
Nick Piggin <nickpiggin@xxxxxxxxxxxx> wrote:

I suspect something might still be broken. It may take a few
days of continuous testing to trigger the bug, though ...


It is possible to be those blk_congestion_wait paths, because
the queue simply won't be congested. So doing io_schedule_timeout
might help.


If the queue is not congested, blk_congestion_wait() will still sleep. See
freed_request().


Hmm... doesn't look like it to me:

if (rl->count[rw] < queue_congestion_off_threshold(q))
clear_queue_congested(q, rw);

And clear_queue_congested does an unconditional wakeup (if there
is someone sleeping on the congestion queue).


I wonder if reducing the size of the write queue in CFQ would help
too? IIRC, it only really wants a huge read queue.


Surely it will help - but we need to be able to handle the situation
because memory can still become full of PageWriteback pages if there are
many disks.


Yep.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/