lkml.org 
[lkml]   [2009]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 8/8] vm: Add an tuning knob for vm.max_writeback_mb
On Fri 04-09-09 09:46:46, Jens Axboe wrote:
> From: Theodore Ts'o <tytso@mit.edu>
>
> Originally, MAX_WRITEBACK_PAGES was hard-coded to 1024 because of a
> concern of not holding I_SYNC for too long. (At least, that was the
> comment previously.) This doesn't make sense now because the only
> time we wait for I_SYNC is if we are calling sync or fsync, and in
> that case we need to write out all of the data anyway. Previously
> there may have been other code paths that waited on I_SYNC, but not
> any more.
Well, I've always though that MAX_WRITEBACK_PAGES is there because
of a situation when a thread is forced to throttle on a BDI and
we'd like pdflush to yield to this thread so that it can do its duty
(otherwise it may be basically forced to wait until pdflush writes
enough for a system to drop below dirty_limit instead of writing
just sync_writeback_pages()).
What also seemed suboptimal to me (on a simple SATA drive) is that
this writeout from a throttled thread is interleaved with a writeout
from pdflush when there are more dirty inodes. So what we might
want to do once we have more threads per-bdi and thus won't hit CPU
bottleneck on high-end storage is that we'd leave writeout completely
to per-BDI threads and just make throttled thread wait until enough
IO is done on the BDI....

> According to Christoph, the current writeback size is way too small,
> and XFS had a hack that bumped out nr_to_write to four times the value
> sent by the VM to be able to saturate medium-sized RAID arrays. This
> value was also problematic for ext4 as well, as it caused large files
> to be come interleaved on disk by in 8 megabyte chunks (we bumped up
> the nr_to_write by a factor of two).
>
> So, in this patch, we make the MAX_WRITEBACK_PAGES a tunable,
> max_writeback_mb, and set it to a default value of 128 megabytes.
>
> http://bugzilla.kernel.org/show_bug.cgi?id=13930
>
> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>

Honza
--
Jan Kara <jack@suse.cz>
SUSE Labs, CR


\
 
 \ /
  Last update: 2009-09-07 21:11    [W:0.107 / U:0.964 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site