summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSuyog Sarda <ssarda@codeaurora.org>2016-06-07 21:15:42 +0530
committerSuyog Sarda <ssarda@codeaurora.org>2016-12-17 16:16:17 +0530
commit61c423799fb52bbc83070303000e341b587d1ce7 (patch)
tree59260d854d85857b7ee13b57ad861f686cf4ba0d
parent3162449f7d245d45f007d4ea3224576ddf1bcc63 (diff)
lowmemorykiller: Introduce sysfs node for ALMK and PPR adj threshold
The grouping of tasks based on oom_score_adj values change from one framework to another. This requires corresponding changes in the threshold values set for almk and per process reclaim. Introduce sysfs nodes to set threshold adj for process reclaim and adaptive LMK dynamically. Change-Id: Ib7565bfd5d2e93aa4ff8fdd20414cac0a0f38bf7 Signed-off-by: Suyog Sarda <ssarda@codeaurora.org> Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
-rw-r--r--drivers/staging/android/lowmemorykiller.c2
-rw-r--r--mm/process_reclaim.c7
2 files changed, 7 insertions, 2 deletions
diff --git a/drivers/staging/android/lowmemorykiller.c b/drivers/staging/android/lowmemorykiller.c
index a76a7ff618b9..68a4559f9d26 100644
--- a/drivers/staging/android/lowmemorykiller.c
+++ b/drivers/staging/android/lowmemorykiller.c
@@ -98,6 +98,8 @@ static unsigned long lowmem_count(struct shrinker *s,
static atomic_t shift_adj = ATOMIC_INIT(0);
static short adj_max_shift = 353;
+module_param_named(adj_max_shift, adj_max_shift, short,
+ S_IRUGO | S_IWUSR);
/* User knob to enable/disable adaptive lmk feature */
static int enable_adaptive_lmk;
diff --git a/mm/process_reclaim.c b/mm/process_reclaim.c
index 8cf5f13548e8..98e5af190fe0 100644
--- a/mm/process_reclaim.c
+++ b/mm/process_reclaim.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2015, The Linux Foundation. All rights reserved.
+ * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
@@ -48,6 +48,10 @@ static unsigned long pressure_max = 90;
module_param_named(pressure_min, pressure_min, ulong, S_IRUGO | S_IWUSR);
module_param_named(pressure_max, pressure_max, ulong, S_IRUGO | S_IWUSR);
+static short min_score_adj = 360;
+module_param_named(min_score_adj, min_score_adj, short,
+ S_IRUGO | S_IWUSR);
+
/*
* Scheduling process reclaim workqueue unecessarily
* when the reclaim efficiency is low does not make
@@ -114,7 +118,6 @@ static void swap_fn(struct work_struct *work)
int i;
int tasksize;
int total_sz = 0;
- short min_score_adj = 360;
int total_scan = 0;
int total_reclaimed = 0;
int nr_to_reclaim;