Commit f2e18982 authored by Fengguang Wu's avatar Fengguang Wu Committed by Linus Torvalds

readahead: remove the limit max_sectors_kb imposed on max_readahead_kb

Remove the size limit max_sectors_kb imposed on max_readahead_kb.

The size restriction is unreasonable.  Especially when max_sectors_kb cannot
grow larger than max_hw_sectors_kb, which can be rather small for some disk
drives.

Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: default avatarFengguang Wu <wfg@mail.ustc.edu.cn>
Acked-by: default avatarJens Axboe <jens.axboe@oracle.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 535443f5
...@@ -3928,7 +3928,6 @@ queue_max_sectors_store(struct request_queue *q, const char *page, size_t count) ...@@ -3928,7 +3928,6 @@ queue_max_sectors_store(struct request_queue *q, const char *page, size_t count)
max_hw_sectors_kb = q->max_hw_sectors >> 1, max_hw_sectors_kb = q->max_hw_sectors >> 1,
page_kb = 1 << (PAGE_CACHE_SHIFT - 10); page_kb = 1 << (PAGE_CACHE_SHIFT - 10);
ssize_t ret = queue_var_store(&max_sectors_kb, page, count); ssize_t ret = queue_var_store(&max_sectors_kb, page, count);
int ra_kb;
if (max_sectors_kb > max_hw_sectors_kb || max_sectors_kb < page_kb) if (max_sectors_kb > max_hw_sectors_kb || max_sectors_kb < page_kb)
return -EINVAL; return -EINVAL;
...@@ -3937,14 +3936,6 @@ queue_max_sectors_store(struct request_queue *q, const char *page, size_t count) ...@@ -3937,14 +3936,6 @@ queue_max_sectors_store(struct request_queue *q, const char *page, size_t count)
* values synchronously: * values synchronously:
*/ */
spin_lock_irq(q->queue_lock); spin_lock_irq(q->queue_lock);
/*
* Trim readahead window as well, if necessary:
*/
ra_kb = q->backing_dev_info.ra_pages << (PAGE_CACHE_SHIFT - 10);
if (ra_kb > max_sectors_kb)
q->backing_dev_info.ra_pages =
max_sectors_kb >> (PAGE_CACHE_SHIFT - 10);
q->max_sectors = max_sectors_kb << 1; q->max_sectors = max_sectors_kb << 1;
spin_unlock_irq(q->queue_lock); spin_unlock_irq(q->queue_lock);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment