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

From: Nick Piggin
Date: Thu Jan 06 2005 - 00:38:19 EST


Andrea Arcangeli wrote:
On Thu, Jan 06, 2005 at 04:19:36PM +1100, Nick Piggin wrote:

This is practically what blk_congestion_wait does when the queue
isn't congested though, isn't it?


The fundamental difference that makes it reliable is that:

1) only the I/O we're throttling against will be considered for the
wakeup event, which means only clearing PG_writeback will be
considered eligible for wakeup
Currently _all_ unrelated write I/O was considered eligible
for wakeup events and that could cause spurious oom kills.

I'm not entirely convinced. In Rik's case it didn't matter, because
all his writeout was in the same zone that reclaim was happening
against (ZONE_NORMAL), so in that case, PG_writeback throttling
will do exactly the same thing as blk_congestion_wait.

I do like your PG_writeback throttling idea for the other reason
that it should behave better on NUMA systems with lots of zones
and lots of disks.


2) we won't need unreliable anti-deadlock timeouts anymore


Well I think you do need *something*. If you wake up each time a
single page (or request) has completed, you only complete what,
12 (DEF_PRIORITY) requests before going OOM? In the worst possible
case scenario, which looks like what Rik's running into.

Nick
-
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/