[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190924073940.GM6636@dread.disaster.area>
Date: Tue, 24 Sep 2019 17:39:40 +1000
From: Dave Chinner <david@...morbit.com>
To: Konstantin Khlebnikov <khlebnikov@...dex-team.ru>
Cc: Tejun Heo <tj@...nel.org>, linux-fsdevel@...r.kernel.org,
linux-mm@...ck.org, linux-kernel@...r.kernel.org,
Jens Axboe <axboe@...nel.dk>, Michal Hocko <mhocko@...e.com>,
Mel Gorman <mgorman@...e.de>,
Johannes Weiner <hannes@...xchg.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH v2] mm: implement write-behind policy for sequential file
writes
On Mon, Sep 23, 2019 at 06:06:46PM +0300, Konstantin Khlebnikov wrote:
> On 23/09/2019 17.52, Tejun Heo wrote:
> > Hello, Konstantin.
> >
> > On Fri, Sep 20, 2019 at 10:39:33AM +0300, Konstantin Khlebnikov wrote:
> > > With vm.dirty_write_behind 1 or 2 files are written even faster and
> >
> > Is the faster speed reproducible? I don't quite understand why this
> > would be.
>
> Writing to disk simply starts earlier.
Stupid question: how is this any different to simply winding down
our dirty writeback and throttling thresholds like so:
# echo $((100 * 1000 * 1000)) > /proc/sys/vm/dirty_background_bytes
to start background writeback when there's 100MB of dirty pages in
memory, and then:
# echo $((200 * 1000 * 1000)) > /proc/sys/vm/dirty_bytes
So that writers are directly throttled at 200MB of dirty pages in
memory?
This effectively gives us global writebehind behaviour with a
100-200MB cache write burst for initial writes.
ANd, really such strict writebehind behaviour is going to cause all
sorts of unintended problesm with filesystems because there will be
adverse interactions with delayed allocation. We need a substantial
amount of dirty data to be cached for writeback for fragmentation
minimisation algorithms to be able to do their job....
Cheers,
Dave.
--
Dave Chinner
david@...morbit.com
Powered by blists - more mailing lists