Re: what is the state of current after an mm_fault occurs?
From: jeff shia
Date: Wed Jan 04 2006 - 22:19:34 EST
en,
You mean in some pagefault place we do schedule()?
Where?
Thank you !
On 1/5/06, Andrew Morton <akpm@xxxxxxxx> wrote:
> jeff shia <tshxiayu@xxxxxxxxx> wrote:
> >
> > In my opinion, the state of current should be TASK_RUNNING
> > after an mm_fault occurs.But I donot know why the function of
> > handle_mm_fault() set the state of current TASK_RUNNING.
>
> It was a long time ago.. 2.4.early, perhaps.
>
> There was a place (maybe in the select() code) where we were doing
> copy_*_user() while in state TASK_INTERRUPTIBLE. And iirc there was a
> place in the pagefault code which did schedule(). So we would occasionally
> hit schedule() in state TASK_INTERRUPTIBLE, when we expected to be in state
> TASK_RUNNING.
>
> So we made handle_mm_fault() set TASK_RUNNING to prevent any further such
> things.
>
>
-
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/