Re: Is the L4Linux running as a Fiasco.OC server?

Zeyu Mi <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <CAN3vb6+ix4Zr2N=ho7QbDF20+zJFXZ4dzWry8DCDoJOfKbc6bQ@mail.gmail.com>
Hi Adam,

Sorry for bothering you again...

I have changed to snapshot-17.09 and the "s" command works normally.

I also disabled the VCPU thread model in the L4Linux config and it can be
compiled
without any error :)

However, the L4Linux keeps reporting the following error message if running
in QEMU.

Non-resolvable page fault at b300b308, ip 6454e6.
Page fault (non-resolved): pfa=b300b308 pc=6454e6
Non-resolvable page fault at b300b308, ip 6454e6.
Die message: Trap: 14
Non-resolvable page fault at b300b308, ip 205390.
Page fault (non-resolved): pfa=b300b308 pc=205390
Non-resolvable page fault at b300b308, ip 205390.
Die message: Trap: 14

If running on the real hardware (a Skylake machine), it keeps reporting the
following message.

L4x: Main thread running, waiting...
Die message: Trap: 6
Die message: Trap: 6
Die message: Trap: 6
Die message: Trap: 6
Die message: Trap: 6
Die message: Trap: 6

On Wed, Mar 7, 2018 at 12:19 PM, Zeyu Mi <[email protected]> wrote:

>
>
> On Wed, Mar 7, 2018 at 7:36 AM, Adam Lackorzynski <
> [email protected]> 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 <[email protected]> wrote:
>> >
>> > >
>> > >
>> > > On Tue, Mar 6, 2018 at 7:50 AM, Adam Lackorzynski <
>> > > [email protected]> 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
>> [email protected]
>> 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
>



-- 
Best Regards

Zeyu Mi (糜泽羽)
Institute of Parallel and Distributed Systems (IPADS),
School of Software,
Shanghai Jiao Tong University

_______________________________________________
l4-hackers mailing list
[email protected]
http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.