On Wed, Mar 7, 2018 at 7:36 AM, Adam Lackorzynski <adam@os.inf.tu-dresden.de
wrote:
Hi,
On Tue Mar 06, 2018 at 10:22:18 +0800, Zeyu Mi wrote:
On Tue, Mar 6, 2018 at 9:20 AM, Zeyu Mi <yzmizeyu@gmail.com> wrote:
On Tue, Mar 6, 2018 at 7:50 AM, Adam Lackorzynski < adam@os.inf.tu-dresden.de> wrote:
Hi,
Hi Adam,
On Mon Mar 05, 2018 at 19:47:19 +0800, Zeyu Mi wrote:
I am studying the implementation of the Fiasco.OC and the L4Linux.
I have searched on the Internet and many papers and documents record that L4Linux runs as an L4 server and any L4Linux user process is a new task, which has a new page table different from that of an L4Linux server.
However, the experiment result seems to conflict with those
documents.
When
I started a new program in the L4Linux shell and used "lp" command (show present list) in JDB, I noticed that there was one thread having "vcpu" state. But the resulted list did not contain any new thread or task which is related to the new program.
I am very confused and wondering whether or not the implementation recorded in those papers or documents are wrong or obsolete?
Your obvservations are all right, however, 'lp' lists all threads in the system but not tasks (aka address spaces). For listing tasks, use 's', where you will see all the tasks for the Linux user processes.
I have tried 's' command, but there was alwasy a general protection fault. The following is the error message.
KERNEL: Warning: No page-fault handler for 0xfffffffff0400008, error 0x0, pc fffffffff000922b General Protection (eip=fffffffff0042dc3, err=0000000000000000) -- jdb bug?
Strange. You might want to update your snapshot version although I cannot remember having seen such an error. Alternatively use shift-Q and look for tasks.
There has been a change in model for L4Linux. With the vcpu model there
is only one thread (the vcpu) which is moving between the tasks for execution. In the previous thread mode there has been a thread in each user process. Both variants are still available through the L4Linux config.
Could you kindly tell me how to enable the previous thread mode?
Hi Adam, I have disabled the vcpu exeuction mode by changing the L4Linux config. But there is one warning treated as an error when compiling the L4Linux. Following is the detailed error log:
src/l4linux/arch/l4/kernel/main.c:3853:2: error: implicit declaration of function ‘get_cpu_gdt_table’ [-Werror=implicit-function-declaration] l4x_load_percpu_gdt_descriptor(get_cpu_gdt_table(_cpu));
Do you have any suggestion to fix that?
Disable CONFIG_SMP?
Hi Adam,
I have disable CONFIG_SMP, but encountered the following error. src/l4linux/arch/l4/kernel/arch-x86/dispatch.c: In function ‘utcb_to_thread_struct’: src/l4linux/arch/l4/kernel/arch-x86/dispatch.c:276:3: error: ‘struct thread_struct’ has no member named ‘gs’ t->gs = exc->gs; Any idea? BTW, is it possible to enable the previous thread model and SMP in the L4Linux simultaneously? Adam
_______________________________________________ l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
-- Best Regards Zeyu Mi (糜泽羽) Institute of Parallel and Distributed Systems (IPADS), School of Software, Shanghai Jiao Tong University