aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/android
diff options
context:
space:
mode:
authorVinayak Menon <vinayakm.list@gmail.com>2014-02-27 00:36:22 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-02-27 14:51:27 -0800
commit058dbde928597e7a8bd04e28e77e5cfc4270591d (patch)
treea843e14b2a2b0799709d7316fff3e0265a61f579 /drivers/staging/android
parent12f2200f98471090228c70dc6b60b125452ca8a7 (diff)
staging: android: lowmemorykiller: neglect swap cached pages in other_file
With ZRAM enabled it is observed that lowmemory killer doesn't trigger properly. swap cached pages are accounted in NR_FILE, and lowmemorykiller considers this as reclaimable and adds to other_file. But these pages can't be reclaimed unless lowmemorykiller triggers. So subtract swap pages from other_file. Signed-off-by: Vinayak Menon <vinayakm.list@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/android')
-rw-r--r--drivers/staging/android/lowmemorykiller.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c
index 4bcf00a8727..b545d3d1da3 100644
--- a/drivers/staging/android/lowmemorykiller.c
+++ b/drivers/staging/android/lowmemorykiller.c
@@ -88,7 +88,8 @@ static unsigned long lowmem_scan(struct shrinker *s, struct shrink_control *sc)
int array_size = ARRAY_SIZE(lowmem_adj);
int other_free = global_page_state(NR_FREE_PAGES) - totalreserve_pages;
int other_file = global_page_state(NR_FILE_PAGES) -
- global_page_state(NR_SHMEM);
+ global_page_state(NR_SHMEM) -
+ total_swapcache_pages();
if (lowmem_adj_size < array_size)
array_size = lowmem_adj_size;