Is the L4Linux running as a Fiasco.OC server?

Zeyu Mi yzmizeyu at gmail.com
Wed Mar 7 05:19:12 CET 2018


On Wed, Mar 7, 2018 at 7:36 AM, Adam Lackorzynski <adam at 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 at gmail.com> wrote:
> >
> > >
> > >
> > > On Tue, Mar 6, 2018 at 7:50 AM, Adam Lackorzynski <
> > > adam at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20180307/e4ca3c04/attachment.htm>


More information about the l4-hackers mailing list