Linux ARM, does schedule() jumps to user space ?

Miles MH Chen orca.chen at gmail.com
Fri Jan 3 06:05:56 EST 2014


Hi MJ,

The switch_to(prev, next) function stores the registers of task "prev" to
its kernel stack, than restores registers
of task "next" from its kernel stack than resumes task "next" in kernel
mode.
If the selected task is a user process, it just takes the "return to user"
path to user space.

Regards,
MH


On Fri, Jan 3, 2014 at 6:31 PM, Mj Embd <mj.embd at gmail.com> wrote:

> Hi,
>
> A very basic question.
> AFAIK schedule() selects the next process to run.
> Now once it has selected the process, and say if the process is a user
> space or kernel space one. how does the switch to user happens,
>
> a) Is it in schedule function . it has to be a arch level function
> called from schedule()
>
> b) or Else where, so is there a umberlla function like
>
> somefunc()
> {
> task_ptr = schedule();
> switch_to(task_ptr)
>
> ...
>
> }
>
> Can someone explain this
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20140103/749d1aa2/attachment.html 


More information about the Kernelnewbies mailing list