[Devel] Re: [BUG]: Crash with CONFIG_FAIR_CGROUP_SCHED=y
Dmitry Adamushko
dmitry.adamushko at gmail.com
Fri Nov 9 00:45:21 PST 2007
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 at linux.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
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list