Linux ARM, does schedule() jumps to user space ?
From: Mj Embd <hidden>
Date: 2014-01-03 12:50:56
On Fri, Jan 3, 2014 at 4:35 PM, Miles MH Chen [off-list ref] wrote:
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.
How is the switch_to() function called from schedule ? or what is the umberella function which calls switch_to What is the flow in which schedule and switch_to is called
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 [off-list ref] wrote:quoted
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
-- -mj