From f7b445954612ca791c14598e9d5afaced40f76fc Mon Sep 17 00:00:00 2001 From: Yi-wei Zhao Date: Tue, 30 Dec 2014 17:38:04 -0600 Subject: fs: support task's adj rbtree Add (or del) a task to (or from) task's adj rbtree when its oom_score_adj is modified. Change-Id: I8a9490c6f30f42f6e4ed8f7fa9249f6da6177ae2 Signed-off-by: Hong-Mei Li Signed-off-by: Yi-wei Zhao Reviewed-on: http://gerrit.mot.com/701206 SLTApproved: Slta Waiver Tested-by: Jira Key Submit-Approved: Jira Key --- fs/exec.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'fs/exec.c') diff --git a/fs/exec.c b/fs/exec.c index 9d973ce29..359a4430d 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -953,6 +953,13 @@ static int de_thread(struct task_struct *tsk) transfer_pid(leader, tsk, PIDTYPE_SID); list_replace_rcu(&leader->tasks, &tsk->tasks); + /* + * need to delete leader from adj tree, because it will not be + * group leader (exit_signal = -1) soon. release_task(leader) + * can't delete it. + */ + delete_from_adj_tree(leader); + add_2_adj_tree(tsk); list_replace_init(&leader->sibling, &tsk->sibling); tsk->group_leader = tsk; -- cgit v1.2.3