> However, it appears that the same process, dTi-lm, is still chosen for oom kill > because lowmem_deathpending_timeout has expired. > > So this looks like a problem if the constantly chosen process cannot exit. > It would have been helpful to have the stack of pid 27289 in the log to see > where it was stuck. But I think it may be unrelated to > lowmem_deathpending_timeout itself. We'd be better off selecting a > different process to kill with something like this: > > diff --git a/drivers/staging/android/lowmemorykiller.c > b/drivers/staging/android/lowmemorykiller.c > --- a/drivers/staging/android/lowmemorykiller.c > +++ b/drivers/staging/android/lowmemorykiller.c > @@ -128,11 +128,15 @@ static unsigned long lowmem_scan(struct shrinker > *s, struct shrink_control *sc) > if (!p) > continue; > > - if (test_tsk_thread_flag(p, TIF_MEMDIE) && > - time_before_eq(jiffies, lowmem_deathpending_timeout)) { > - task_unlock(p); > - rcu_read_unlock(); > - return 0; > + if (test_tsk_thread_flag(p, TIF_MEMDIE)) { > + if (time_before_eq(jiffies, > + lowmem_deathpending_timeout)) { > + task_unlock(p); > + rcu_read_unlock(); > + return 0; > + } > + /* Need to select a different process to kill */ > + continue; > } > oom_score_adj = p->signal->oom_score_adj; > if (oom_score_adj < min_score_adj) { > > But we need more information. Please make sure that > lowmem_debug_level is 1, try to get a complete kernel log, and if possible > please try to capture the stack of the process that can't exit (use > /proc/<pid>/stack) before trying the above patch. Hi Rientjes: I re-test the monkey stress test on your patches, it seems better than current mainline code. The kernel log is a little big, more than 10 MB. I send to you directly. Best tianfei _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel