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.
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.
On Fri, Jan 3, 2014 at 6:31 PM, Mj Embd <mj.embd@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies