> In other words, any episode of pageouts is followed immediately by a
> short episode of preemptive cleaning.
linux/mm/vmscan.c::page_launder(), around line 666:
/* Let bdflush take care of the rest. */
wakeup_bdflush(0);
> The definition of 'for a while' and 'plenty of disk bandwidth' can be
> tuned, but I don't think either is particularly critical.
Can be tuned a bit, indeed.
> As a side note, the good old multisecond delay before bdflush kicks in
> doesn't really make a lot of sense - when bandwidth is available the
> filesystem-initiated writeouts should happen right away.
... thus spinning up the disk ?
How about just making sure we write out a bigger bunch
of dirty pages whenever one buffer gets too old ?
Does the patch below do anything good for your laptop? ;)
regards,
Rik
--
--- buffer.c.orig Sat Jun 16 18:05:15 2001 +++ buffer.c Sat Jun 16 18:05:29 2001 @@ -2550,8 +2550,7 @@ if the current bh is not yet timed out, then also all the following bhs will be too young. */ - if (++flushed > bdf_prm.b_un.ndirty && - time_before(jiffies, bh->b_flushtime)) + if(time_before(jiffies, bh->b_flushtime)) goto out_unlock; } else { if (++flushed > bdf_prm.b_un.ndirty)
- 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/