Hi all,
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?
The experiment is based on "l4re-snapshot-2016082114".
Thanks in advance for any explanation.
Hi,
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. 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.
Adam
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?
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?
Adam
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
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?
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?
Thanks
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
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?
Adam
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
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 yzmizeyu@gmail.com wrote:
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
On Wed Mar 07, 2018 at 15:50:24 +0800, Zeyu Mi wrote:
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
That's strange. What are you running inside L4Linux? What's also interesting is that on QEMU there are page-faults and on hardware trap6. For my setups, all looks fine.
BTW, is it possible to enable the previous thread model and SMP in the L4Linux simultaneously?
Not really as this has some issues, it might work (with hickups).
Adam
On Thu, Mar 8, 2018 at 8:14 AM, Adam Lackorzynski <adam@os.inf.tu-dresden.de
wrote:
On Wed Mar 07, 2018 at 15:50:24 +0800, Zeyu Mi wrote:
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
That's strange. What are you running inside L4Linux? What's also interesting is that on QEMU there are page-faults and on hardware trap6. For my setups, all looks fine.
Hi Adam,
I switched to snapshot-17.12, and turned off the VCPU thread model. While this version works normally on QEMU (with -cpu host option, Skylake machine), it triggers a general protection (trap 13) on the Skylake machine. The instruction triggering such fault is "XRSTORS64". It is quite strange to see such phenomenon since the QEMU uses the Skylake CPU to run the system, which is the same as the real hardware.
Therefore, I dived into the source code and found that the system chose different paths in "copy_kernel_to_xregs_booting" funtion. This function has the following code snippet.
if (state_cpu_has(X86_FEATURE_XSAVES)) XSTATE_OP(XRSTORS, xstate, lmask, hmask, err); else XSTATE_OP(XRSTOR, xstate, lmask, hmask, err);
If running in QEMU, the system chose the else branch. But it chose the if branch if running in hardware.
Do you have any suggestion on fixing that?
BTW, is it possible to enable the previous thread model and SMP in the L4Linux simultaneously?
Not really as this has some issues, it might work (with hickups).
Adam
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi,
On Thu Mar 08, 2018 at 11:00:03 +0800, Zeyu Mi wrote:
On Thu, Mar 8, 2018 at 8:14 AM, Adam Lackorzynski <adam@os.inf.tu-dresden.de
wrote:
On Wed Mar 07, 2018 at 15:50:24 +0800, Zeyu Mi wrote:
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
That's strange. What are you running inside L4Linux? What's also interesting is that on QEMU there are page-faults and on hardware trap6. For my setups, all looks fine.
Hi Adam,
I switched to snapshot-17.12, and turned off the VCPU thread model. While this version works normally on QEMU (with -cpu host option, Skylake machine), it triggers a general protection (trap 13) on the Skylake machine. The instruction triggering such fault is "XRSTORS64". It is quite strange to see such phenomenon since the QEMU uses the Skylake CPU to run the system, which is the same as the real hardware.
Therefore, I dived into the source code and found that the system chose different paths in "copy_kernel_to_xregs_booting" funtion. This function has the following code snippet.
if (state_cpu_has(X86_FEATURE_XSAVES)) XSTATE_OP(XRSTORS, xstate, lmask, hmask, err); else XSTATE_OP(XRSTOR, xstate, lmask, hmask, err);
If running in QEMU, the system chose the else branch. But it chose the if branch if running in hardware.
Do you have any suggestion on fixing that?
Ok, so looks like an issue with recent FPU stuff, I need to get a Skylake as a testbox. Please try adding "noxsaves" on the L4Linux command line.
Adam
Hi Adam,
After adding the "noxsaves" parameters, L4Linux works normally!
Thank you very much!
On Fri, Mar 9, 2018 at 7:34 AM, Adam Lackorzynski <adam@os.inf.tu-dresden.de
wrote:
Hi,
On Thu Mar 08, 2018 at 11:00:03 +0800, Zeyu Mi wrote:
On Thu, Mar 8, 2018 at 8:14 AM, Adam Lackorzynski <
adam@os.inf.tu-dresden.de
wrote:
On Wed Mar 07, 2018 at 15:50:24 +0800, Zeyu Mi wrote:
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
That's strange. What are you running inside L4Linux? What's also interesting is that on QEMU there are page-faults and on hardware trap6. For my setups, all looks fine.
Hi Adam,
I switched to snapshot-17.12, and turned off the VCPU thread model. While this version works normally on QEMU (with -cpu host option, Skylake machine), it triggers a general protection (trap 13) on the Skylake machine. The instruction triggering such fault is "XRSTORS64". It is quite strange to see such phenomenon since the QEMU uses the
Skylake
CPU to run the system, which is the same as the real hardware.
Therefore, I dived into the source code and found that the system chose different paths in "copy_kernel_to_xregs_booting" funtion. This function has the following code snippet.
if (state_cpu_has(X86_FEATURE_XSAVES)) XSTATE_OP(XRSTORS, xstate, lmask, hmask, err); else XSTATE_OP(XRSTOR, xstate, lmask, hmask, err);
If running in QEMU, the system chose the else branch. But it chose the if branch if running in hardware.
Do you have any suggestion on fixing that?
Ok, so looks like an issue with recent FPU stuff, I need to get a Skylake as a testbox. Please try adding "noxsaves" on the L4Linux command line.
Adam
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
Hi,
On [06-03-2018 09:20], Zeyu Mi 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.
[...]
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?
I unsuccessfully tried to reproduce the issue. Could you please try Fiasco.OC's development version from [1] and see whether you still get a GPF?
Thank you, Matthias.
[1] https://github.com/kernkonzept/fiasco
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?
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
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
On Tue, Mar 6, 2018 at 5:05 PM, Matthias Lange < matthias.lange@kernkonzept.com> wrote:
Hi,
On [06-03-2018 09:20], Zeyu Mi 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.
[...]
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?
I unsuccessfully tried to reproduce the issue. Could you please try Fiasco.OC's development version from [1] and see whether you still get a GPF?
Thank you, Matthias.
Thank you, I will try this.
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?
Could you tell me how to enable the previous thread mode? It seems that turning off the vcpu mode is unable to revert to the previous mode, which triggers a lot of compilation error.
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
l4-hackers mailing list l4-hackers@os.inf.tu-dresden.de http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers
-- Matthias Lange, matthias.lange@kernkonzept.com, +49-351-41 888 614
Kernkonzept GmbH. Sitz: Dresden. Amtsgericht Dresden, HRB 31129. Geschäftsführer: Dr.-Ing. Michael Hohmuth
l4-hackers@os.inf.tu-dresden.de