arm: dts: rk3288: add mipi support
[firefly-linux-kernel-4.4.55.git] / mm / readahead.c
index 24682f6f4cfd1d84d7245faea0da78e7fd17e716..ba22d7fe0afbae6e8e1568a9564b6dd6399ca964 100644 (file)
@@ -90,7 +90,7 @@ int read_cache_pages(struct address_space *mapping, struct list_head *pages,
                page = list_to_page(pages);
                list_del(&page->lru);
                if (add_to_page_cache_lru(page, mapping, page->index,
-                               GFP_KERNEL & mapping_gfp_mask(mapping))) {
+                               mapping_gfp_constraint(mapping, GFP_KERNEL))) {
                        read_cache_pages_invalidate_page(mapping, page);
                        continue;
                }
@@ -128,7 +128,7 @@ static int read_pages(struct address_space *mapping, struct file *filp,
                struct page *page = list_to_page(pages);
                list_del(&page->lru);
                if (!add_to_page_cache_lru(page, mapping, page->index,
-                               GFP_KERNEL & mapping_gfp_mask(mapping))) {
+                               mapping_gfp_constraint(mapping, GFP_KERNEL))) {
                        mapping->a_ops->readpage(filp, page);
                }
                page_cache_release(page);
@@ -213,7 +213,7 @@ int force_page_cache_readahead(struct address_space *mapping, struct file *filp,
        if (unlikely(!mapping->a_ops->readpage && !mapping->a_ops->readpages))
                return -EINVAL;
 
-       nr_to_read = max_sane_readahead(nr_to_read);
+       nr_to_read = min(nr_to_read, inode_to_bdi(mapping->host)->ra_pages);
        while (nr_to_read) {
                int err;
 
@@ -232,16 +232,6 @@ int force_page_cache_readahead(struct address_space *mapping, struct file *filp,
        return 0;
 }
 
-#define MAX_READAHEAD   ((512*4096)/PAGE_CACHE_SIZE)
-/*
- * Given a desired number of PAGE_CACHE_SIZE readahead pages, return a
- * sensible upper limit.
- */
-unsigned long max_sane_readahead(unsigned long nr)
-{
-       return min(nr, MAX_READAHEAD);
-}
-
 /*
  * Set the initial window size, round to next power of 2 and square
  * for small size, x 4 for medium, and x 2 for large
@@ -380,7 +370,7 @@ ondemand_readahead(struct address_space *mapping,
                   bool hit_readahead_marker, pgoff_t offset,
                   unsigned long req_size)
 {
-       unsigned long max = max_sane_readahead(ra->ra_pages);
+       unsigned long max = ra->ra_pages;
        pgoff_t prev_offset;
 
        /*