summaryrefslogtreecommitdiff
path: root/target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch')
-rw-r--r--target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch66
1 files changed, 0 insertions, 66 deletions
diff --git a/target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch b/target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch
deleted file mode 100644
index baaa6863d8..0000000000
--- a/target/linux/goldfish/patches-2.6.30/0052-lowmemorykiller-Only-iterate-over-process-list-when.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 3742e6638bdb7325c6432e2a145ad985ee47d052 Mon Sep 17 00:00:00 2001
-From: =?utf-8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= <arve@android.com>
-Date: Mon, 26 Jan 2009 19:13:47 -0800
-Subject: [PATCH 052/134] lowmemorykiller: Only iterate over process list when needed.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
-Use NR_ACTIVE plus NR_INACTIVE as a size estimate for our fake cache
-instead the sum of rss. Neither method is accurate.
-
-Also skip the process scan, if the amount of memory available is above
-the largest threshold set.
-
-Signed-off-by: Arve Hjønnevåg <arve@android.com>
----
- drivers/staging/android/lowmemorykiller.c | 35 +++++++++++++++++-----------
- 1 files changed, 21 insertions(+), 14 deletions(-)
-
---- a/drivers/staging/android/lowmemorykiller.c
-+++ b/drivers/staging/android/lowmemorykiller.c
-@@ -71,23 +71,30 @@ static int lowmem_shrink(int nr_to_scan,
- }
- if(nr_to_scan > 0)
- lowmem_print(3, "lowmem_shrink %d, %x, ofree %d, ma %d\n", nr_to_scan, gfp_mask, other_free, min_adj);
-+ rem = global_page_state(NR_ACTIVE) + global_page_state(NR_INACTIVE);
-+ if (nr_to_scan <= 0 || min_adj == OOM_ADJUST_MAX + 1) {
-+ lowmem_print(5, "lowmem_shrink %d, %x, return %d\n", nr_to_scan, gfp_mask, rem);
-+ return rem;
-+ }
-+
- read_lock(&tasklist_lock);
- for_each_process(p) {
-- if(p->oomkilladj >= 0 && p->mm) {
-- tasksize = get_mm_rss(p->mm);
-- if(nr_to_scan > 0 && tasksize > 0 && p->oomkilladj >= min_adj) {
-- if(selected == NULL ||
-- p->oomkilladj > selected->oomkilladj ||
-- (p->oomkilladj == selected->oomkilladj &&
-- tasksize > selected_tasksize)) {
-- selected = p;
-- selected_tasksize = tasksize;
-- lowmem_print(2, "select %d (%s), adj %d, size %d, to kill\n",
-- p->pid, p->comm, p->oomkilladj, tasksize);
-- }
-- }
-- rem += tasksize;
-+ if (p->oomkilladj < min_adj || !p->mm)
-+ continue;
-+ tasksize = get_mm_rss(p->mm);
-+ if (tasksize <= 0)
-+ continue;
-+ if (selected) {
-+ if (p->oomkilladj < selected->oomkilladj)
-+ continue;
-+ if (p->oomkilladj == selected->oomkilladj &&
-+ tasksize <= selected_tasksize)
-+ continue;
- }
-+ selected = p;
-+ selected_tasksize = tasksize;
-+ lowmem_print(2, "select %d (%s), adj %d, size %d, to kill\n",
-+ p->pid, p->comm, p->oomkilladj, tasksize);
- }
- if(selected != NULL) {
- lowmem_print(1, "send sigkill to %d (%s), adj %d, size %d\n",