[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b647ffbd0711090045o5ebf4681q78f939f5c1e71fe1@mail.gmail.com>
Date: Fri, 9 Nov 2007 09:45:21 +0100
From: "Dmitry Adamushko" <dmitry.adamushko@...il.com>
To: vatsa@...ux.vnet.ibm.com
Cc: sukadev@...ibm.com, balbir@...ibm.com,
Containers <containers@...ts.osdl.org>,
ckrm-tech@...ts.sourceforge.net, linux-kernel@...r.kernel.org,
dhaval@...ux.vnet.ibm.com, "Ingo Molnar" <mingo@...e.hu>,
efault@....de
Subject: Re: [BUG]: Crash with CONFIG_FAIR_CGROUP_SCHED=y
Hi Srivatsa,
> [ ... ]
> --
>
> current task is not present in its runqueue in case of sched_fair class
> tasks. Take care of this fact in rt_mutex_setprio(),
> sched_setscheduler() and sched_move_task() routines.
>
> Signed-off-by : Srivatsa Vaddagiri <vatsa@...ux.vnet.ibm.com>
>
>
> ---
> kernel/sched.c | 45 +++++++++++++++++++++++++--------------------
> 1 files changed, 25 insertions(+), 20 deletions(-)
>
> Index: current/kernel/sched.c
> ===================================================================
> --- current.orig/kernel/sched.c
> +++ current/kernel/sched.c
> @@ -3986,11 +3986,13 @@ void rt_mutex_setprio(struct task_struct
> oldprio = p->prio;
> on_rq = p->se.on_rq;
> running = task_running(rq, p);
> - if (on_rq) {
> + if (on_rq)
> dequeue_task(rq, p, 0);
> - if (running)
> - p->sched_class->put_prev_task(rq, p);
> - }
> + /* current task is not kept in its runqueue in case of sched_fair class.
> + * Hence we need the 'on_rq?' and 'running?' tests to be separate.
Humm... the 'current' is not kept within the tree but
current->se.on_rq is supposed to be '1' ,
so the old code looks ok to me (at least for the 'leaf' elements).
Maybe you were able to get more useful oops on your site?
> --
> Regards,
> vatsa
>
--
Best regards,
Dmitry Adamushko
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists