diff options
author | Jens Axboe <axboe@fb.com> | 2016-12-12 16:43:26 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-12 18:55:08 -0800 |
commit | 9491ae4aade6814afcfa67f4eb3e3342c2b39750 (patch) | |
tree | ce3bd5d3a5c504548583ce581525011594589d59 /fs/configfs | |
parent | f1f5929cd9715c1cdfe07a890f12ac7d2c5304ec (diff) | |
download | linux-stable-9491ae4aade6814afcfa67f4eb3e3342c2b39750.tar.gz linux-stable-9491ae4aade6814afcfa67f4eb3e3342c2b39750.tar.bz2 linux-stable-9491ae4aade6814afcfa67f4eb3e3342c2b39750.zip |
mm: don't cap request size based on read-ahead setting
We ran into a funky issue, where someone doing 256K buffered reads saw
128K requests at the device level. Turns out it is read-ahead capping
the request size, since we use 128K as the default setting. This
doesn't make a lot of sense - if someone is issuing 256K reads, they
should see 256K reads, regardless of the read-ahead setting, if the
underlying device can support a 256K read in a single command.
This patch introduces a bdi hint, io_pages. This is the soft max IO
size for the lower level, I've hooked it up to the bdev settings here.
Read-ahead is modified to issue the maximum of the user request size,
and the read-ahead max size, but capped to the max request size on the
device side. The latter is done to avoid reading ahead too much, if the
application asks for a huge read. With this patch, the kernel behaves
like the application expects.
Link: http://lkml.kernel.org/r/1479498073-8657-1-git-send-email-axboe@fb.com
Signed-off-by: Jens Axboe <axboe@fb.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/configfs')
0 files changed, 0 insertions, 0 deletions