summaryrefslogtreecommitdiff
path: root/mm/swap_state.c
diff options
context:
space:
mode:
authorVinayak Menon <vinmenon@codeaurora.org>2015-11-20 13:37:08 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:13:01 -0700
commit588411ea51f10d2497c20c07c263649468a741f7 (patch)
tree4cd6bba549b6a7ec02ff3e7f93825cc4ea43c74e /mm/swap_state.c
parent6d7af116f255a99077867c16c5faa5c013936197 (diff)
mm: swap: fix swapcache usage for fast swap devices
1) The swap readahead algorithm need not be applied for fast swap devices like zram. 2) Code to set SWP_FAST is placed incorrectly, resulting in the flag not being set. Fix these to reduce the swapcache usage. Change-Id: I23d9af5819f4b25f90f14a12657fa19ed401fb2a Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Diffstat (limited to 'mm/swap_state.c')
-rw-r--r--mm/swap_state.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/mm/swap_state.c b/mm/swap_state.c
index bfb0d7d6433e..4e166f1c692c 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -469,11 +469,10 @@ struct page *swapin_readahead(swp_entry_t entry, gfp_t gfp_mask,
unsigned long entry_offset = swp_offset(entry);
unsigned long offset = entry_offset;
unsigned long start_offset, end_offset;
- unsigned long mask = is_swap_fast(entry) ? 0 :
- (1UL << page_cluster) - 1;
+ unsigned long mask;
struct blk_plug plug;
- mask = swapin_nr_pages(offset) - 1;
+ mask = is_swap_fast(entry) ? 0 : swapin_nr_pages(offset) - 1;
if (!mask)
goto skip;