Skip to contentSkip to conversation

staging: android: lowmemorykiller: Don't wait more than one second for a process to die

PATCH In review Anton Vorontsov 2 participants 3 messages Jan 13, 2012 Staging

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 staging: android: lowmemorykiller: Don't wait more than one second for a process to die

From: Arve Hjønnevåg <[email protected]>

If a process forked and the child process was killed by the lowmemorykiller, the lowmemory killer would be disabled until the parent process reaped the child or it died itself.

---

Noticed that the patch is missing. Any reason for not wanting it in staging?

 drivers/staging/android/lowmemorykiller.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)
drivers/staging/android/lowmemorykiller.c +4 -1
index 2d8d2b7..efc7dc1 100644
@@ -54,6 +54,7 @@ static size_t lowmem_minfree[6] = {
 static int lowmem_minfree_size = 4;
 
 static struct task_struct *lowmem_deathpending;
+static unsigned long lowmem_deathpending_timeout;
 
 #define lowmem_print(level, x...)			\
 	do {						\
@@ -103,7 +104,8 @@ static int lowmem_shrink(struct shrinker *s, struct shrink_control *sc)
 	 * Note: Currently you need CONFIG_PROFILING
 	 * for this to work correctly.
 	 */
-	if (lowmem_deathpending)
+	if (lowmem_deathpending &&
+	    time_before_eq(jiffies, lowmem_deathpending_timeout))
 		return 0;
 
 	if (lowmem_adj_size < array_size)
@@ -178,6 +180,7 @@ static int lowmem_shrink(struct shrinker *s, struct shrink_control *sc)
 		 */
 #ifdef CONFIG_PROFILING
 		lowmem_deathpending = selected;
+		lowmem_deathpending_timeout = jiffies + HZ;
 		task_handoff_register(&task_nb);
 #endif
 		force_sig(SIGKILL, selected);
Signature · 1 line
1.7.7.3
#1 lore raw
Quoted 6 lines · Anton Vorontsov

From: Arve Hjønnevåg <[email protected]>

If a process forked and the child process was killed by the lowmemorykiller, the lowmemory killer would be disabled until the parent process reaped the child or it died itself.

Quoted 6 lines

---

Noticed that the patch is missing. Any reason for not wanting it in staging?

No, I must have missed this one, sorry about that. Where was it that I should have seen it?

I'll queue this up after 3.3-rc1 is out to get it into the final 3.3 release.

thanks,

greg k-h

#2 lore raw
Quoted 11 lines · Greg KH
Quoted 10 lines · Anton Vorontsov

From: Arve Hjønnevåg <[email protected]>

If a process forked and the child process was killed by the lowmemorykiller, the lowmemory killer would be disabled until the parent process reaped the child or it died itself.

---

Quoted 5 lines
Quoted 2 lines

Noticed that the patch is missing. Any reason for not wanting it in staging?

No, I must have missed this one, sorry about that. Where was it that I should have seen it?

I can see it in https://android.googlesource.com/kernel/common.git
android-3.0 branch, commit 280e506943185da01e8605b1a0082012205d3cb0.

Quoted 2 lines

I'll queue this up after 3.3-rc1 is out to get it into the final 3.3 release.

Thanks!

Signature · 2 lines
Anton Vorontsov
Email: [email protected]