From: Theodore Ts'o <tytso@mit.edu>
To: Jan Kara <jack@suse.cz>
Cc: Christoph Hellwig <hch@infradead.org>,
Dave Chinner <david@fromorbit.com>,
Nikolai Grigoriev <ngrigoriev@gmail.com>,
linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-raid@vger.kernel.org, linux-mm@kvack.org,
Jens Axboe <axboe@kernel.dk>
Subject: Re: ext4 vs btrfs performance on SSD array
Date: Tue, 2 Sep 2014 10:55:15 -0400 [thread overview]
Message-ID: <20140902145515.GD6232@thunk.org> (raw)
In-Reply-To: <20140902142024.GB19412@quack.suse.cz>
On Tue, Sep 02, 2014 at 04:20:24PM +0200, Jan Kara wrote:
> On Tue 02-09-14 07:31:04, Ted Tso wrote:
> > > - the very small max readahead size
> >
> > For things like the readahead size, that's probably something that we
> > should autotune, based the time it takes to read N sectors. i.e.,
> > start N relatively small, such as 128k, and then bump it up based on
> > how long it takes to do a sequential read of N sectors until it hits a
> > given tunable, which is specified in milliseconds instead of kilobytes.
> Actually the amount of readahead we do is autotuned (based on hit rate).
> So I would keep the setting in sysfs as the maximum size adaptive readahead
> can ever read and we can bump it up. We can possibly add another feedback
> into the readahead code to tune actualy readahead size depending on device
> speed but we'd have to research exactly what algorithm would work best.
I do think we will need to add a time based cap when bump up the max
adaptive readahead; otherwise what could happen is that if we are
streaming off of a slow block device, the readhaead could easily grow
to the point where it starts affecting the latency of competing read
requests to the slow block device.
I suppose we could make the argument that it's not needed, because most of
situations where we might be using slow block devices, the streaming
reader will likely have exclusive use of the device, since no one
would be crazy enough to say, try to run a live CD-ROM image when USB
sticks are so cheap. :-)
So maybe in practice it won't matter, but I think some kind of time
based cap would probably be a good idea.
- Ted
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2014-09-02 14:55 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAEp=YLgzsLbmEfGB5YKVcHP4CQ-_z1yxnZ0tpo7gjKZ2e1ma5g@mail.gmail.com>
[not found] ` <20140902000822.GA20473@dastard>
2014-09-02 1:22 ` ext4 vs btrfs performance on SSD array Christoph Hellwig
2014-09-02 10:39 ` Zack Coffey
2014-09-02 11:31 ` Theodore Ts'o
2014-09-02 14:20 ` Jan Kara
2014-09-02 14:55 ` Theodore Ts'o [this message]
2014-09-02 12:55 ` Zack Coffey
2014-09-02 13:40 ` Austin S Hemmelgarn
2014-09-03 0:01 ` NeilBrown
2014-09-05 16:08 ` Christoph Hellwig
2014-09-05 16:40 ` Jeff Moyer
2014-09-05 16:50 ` Jens Axboe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140902145515.GD6232@thunk.org \
--to=tytso@mit.edu \
--cc=axboe@kernel.dk \
--cc=david@fromorbit.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-raid@vger.kernel.org \
--cc=ngrigoriev@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).