linux/kernel/sched.c: context_switch().

From: fabio de francesco
Date: Wed Sep 08 2010 - 09:08:32 EST


There must be something I am missing in sched.c at context_switch() function
definition.

There I can read the following code:

static inline void
context_switch(struct rq *rq, struct task_struct *prev,
struct task_struct *next)
{
...
struct mm_struct *mm;
mm = next->mm;
if (likely(!mm)) {
next->active_mm = oldmm;
atomic_inc(&oldmm->mm_count);
enter_lazy_tlb(oldmm, next);
} else
switch_mm(oldmm, mm, next);
...
}

May someone please explain why the mm pointer is likely supposed to be NULL?

Thanks in advance.

fabio
--
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/