readahead: MIN_RA_PAGES/MAX_RA_PAGES macros
Define two convenient macros for read-ahead: - MAX_RA_PAGES: rounded down counterpart of VM_MAX_READAHEAD - MIN_RA_PAGES: rounded _up_ counterpart of VM_MIN_READAHEAD Note that the rounded up MIN_RA_PAGES will work flawlessly with _large_ page sizes like 64k. Signed-off-by: Fengguang Wu <wfg@mail.ustc.edu.cn> Cc: Steven Pratt <slpratt@austin.ibm.com> Cc: Ram Pai <linuxram@us.ibm.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
46fc3e7b4e
commit
f615bfca46
|
@ -21,8 +21,16 @@ void default_unplug_io_fn(struct backing_dev_info *bdi, struct page *page)
|
|||
}
|
||||
EXPORT_SYMBOL(default_unplug_io_fn);
|
||||
|
||||
/*
|
||||
* Convienent macros for min/max read-ahead pages.
|
||||
* Note that MAX_RA_PAGES is rounded down, while MIN_RA_PAGES is rounded up.
|
||||
* The latter is necessary for systems with large page size(i.e. 64k).
|
||||
*/
|
||||
#define MAX_RA_PAGES (VM_MAX_READAHEAD*1024 / PAGE_CACHE_SIZE)
|
||||
#define MIN_RA_PAGES DIV_ROUND_UP(VM_MIN_READAHEAD*1024, PAGE_CACHE_SIZE)
|
||||
|
||||
struct backing_dev_info default_backing_dev_info = {
|
||||
.ra_pages = (VM_MAX_READAHEAD * 1024) / PAGE_CACHE_SIZE,
|
||||
.ra_pages = MAX_RA_PAGES,
|
||||
.state = 0,
|
||||
.capabilities = BDI_CAP_MAP_COPY,
|
||||
.unplug_io_fn = default_unplug_io_fn,
|
||||
|
@ -51,7 +59,7 @@ static inline unsigned long get_max_readahead(struct file_ra_state *ra)
|
|||
|
||||
static inline unsigned long get_min_readahead(struct file_ra_state *ra)
|
||||
{
|
||||
return (VM_MIN_READAHEAD * 1024) / PAGE_CACHE_SIZE;
|
||||
return MIN_RA_PAGES;
|
||||
}
|
||||
|
||||
static inline void reset_ahead_window(struct file_ra_state *ra)
|
||||
|
|
Loading…
Reference in New Issue