Re: 2.5.66-mm1

From: Ingo Molnar (mingo@elte.hu)
Date: Fri Mar 28 2003 - 05:45:10 EST


On Thu, 27 Mar 2003, Andrew Morton wrote:

> That longer Code: line is really handy.
>
> You died in schedule()->deactivate_task()->dequeue_task().
>
> static inline void dequeue_task(struct task_struct *p, prio_array_t *array)
> {
> array->nr_active--;
>
> `array' is zero.
>
> I'm going to Cc Ingo and run away. Ed uses preempt.

hm, this is an 'impossible' scenario from the scheduler code POV. Whenever
we deactivate a task, we remove it from the runqueue and set p->array to
NULL. Whenever we activate a task again, we set p->array to non-NULL. A
double-deactivate is not possible. I tried to reproduce it with various
scheduler workloads, but didnt succeed.

Mike, do you have a backtrace of the crash you saw?

        Ingo

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



This archive was generated by hypermail 2b29 : Mon Mar 31 2003 - 22:00:31 EST