Re: [PATCH 2/4] oom: kill younger process first

From: KOSAKI Motohiro
Date: Fri May 13 2011 - 06:17:12 EST


(2011/05/12 9:52), KAMEZAWA Hiroyuki wrote:
On Tue, 10 May 2011 17:15:01 +0900 (JST)
KOSAKI Motohiro<kosaki.motohiro@xxxxxxxxxxxxxx> wrote:

This patch introduces do_each_thread_reverse() and
select_bad_process() uses it. The benefits are two,
1) oom-killer can kill younger process than older if
they have a same oom score. Usually younger process
is less important. 2) younger task often have PF_EXITING
because shell script makes a lot of short lived processes.
Reverse order search can detect it faster.

Reported-by: CAI Qian<caiqian@xxxxxxxxxx>
Signed-off-by: KOSAKI Motohiro<kosaki.motohiro@xxxxxxxxxxxxxx>

IIUC, for_each_thread() can be called under rcu_read_lock() but
for_each_thread_reverse() must be under tasklist_lock.

Could you add some comment ? and prev_task() should use list_entry()
not list_entry_rcu().

Will fix. thanks.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/