Dear
Thanks for your reply.
Hi,
On Sat May 09, 2009 at 15:29:02 +0800, Sean wrote:
> 1. In L4Linux, the process/thread will map to several L4 Threads. How the
> scheduler in the Linux Server considers user processes in L4Linux whether toThe document is a bit out-dated regarding this area. The scheduler in
> execute in L4 system ? According to the document, does L4Linux scheduler
> only control the user process whether block or not?
L4Linux does nothing different than the one in Linux.
> 2. Based on the L4Linux source code from currently SVN, the behavior of
> schedule() function (kernel/sched.c line 4546) isswitch_to switches the kernel stack and does nothing with the user state
> => If next != prev, call context_switch() function
> => In context_switch() function (kernel/sched.c Line 2649), it calls
> architecture dependent function switch_to()
> => In switch_to() function (arch/l4/include/asm/arch-arm/system.h Line
> 222), it calls l4x_switch_to() function and __switch_to() function
> => In l4x_switch_to() function (arch/l4/kernel/arch-arm/dispatch.c Line
> 170), it logs the message to Trace Buffer of Fiasco and set
> l4x_current_process
> => In __switch_to() function (arch/l4/kernel/arch-arm/switch_to.S Line
> 5), it store the registers to CPU context of thread_info and load all regs
> saved previously
>
> Based on the source code analysis, it seems that when the L4Linux
> scheduler decide to do the context switch, the architecture dependent
> function __switch_to() will do the register restore and load. According to
> the document, I think the behavior here should set the corresponding thread
> status of prev and next user process to block or unblock these L4 threads.
> But here it does low level register restore and reload operations to change
> the current running process directly. It confuses me. Can anyone give me any
> ideas to address this?
of the process. Nowadays only one L4 thread is active at a time, i.e.
the one whose context is currently active in L4Linux. All others are
blocked until the Linux scheduler decides to switch to those contexts
and they're ready to be released.
Adam
--
Adam adam@os.inf.tu-dresden.de
Lackorzynski http://os.inf.tu-dresden.de/~adam/
_______________________________________________
l4-hackers mailing list
l4-hackers@os.inf.tu-dresden.de
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers