Live data from Hacker News

L4Linux – Linux running on the L4 microkernel

l4linux.org

31–40 of 42 posts

Re: L4Linux – Linux running on the L4 microkernel

#31
post #10

Okay, can someone explain why is this a thing? It is a genuine question. I am not very familiar with OS designs and skimming through the landing page didn't help. Is it essentially a Linux kernel that runs within an existing instance of Linux? Why is it important/useful? Thanks.

Microkernels and hypervisors are very closely related in the view of some. Paravirtualization, like L4 Linux, is when the guest is aware of being hosted and, at one time - maybe still, could outperform guest OSes on fully virtualized hardware. I'm not sure if that's all still true since Intel and AMD implemented VTX.

If you want to see a neat demo of this stuff - check out the DROPs demo or TUD:OS http://demo.tudos.org/.

Screenshots of a whole bunch of linuxes (linii?) running at once: http://demo.tudos.org/l4lx_screenshot.png

I think this is from 2003...

Re: L4Linux – Linux running on the L4 microkernel

#32
post #6

Earlier quoted context omitted.

4% is meaningless measurement for an OS kernel. I worked with l4 and we had to throw it out because the microcernel overhead had a 2x performance hit on frames per second for animations on a 400mhz arm9. Are you going to see a 2x hit for disk IOps, or network packets per second, or IO latency?

> I worked with L4, and we had to throw it out because the microkernel overhead caused a 2x performance hit on frames per second for animations on a 400MHz ARM9. Were you sending individual graphics commands and rasters over IPC or something, or was that just the cost of the flips, and maybe a second flip from a compositor (or blitter)?

Userspace would render its local window and send the invalidated regions to the kernel.

The problem was two fold. L4 ipc was just slower then a swi, and l4 driver model would lock the page table for every region instead of just checking every region all at once.

Re: L4Linux – Linux running on the L4 microkernel

#33
post #29
post #6

Earlier quoted context omitted.

4% is meaningless measurement for an OS kernel. I worked with l4 and we had to throw it out because the microcernel overhead had a 2x performance hit on frames per second for animations on a 400mhz arm9. Are you going to see a 2x hit for disk IOps, or network packets per second, or IO latency?

ARM9's cache architecture is not suited for frequent address space switches due to the requirement to flush caches on every switch. All multi-user OSes suffer there it's just more accentuated on microkernels.

Yep! If I recall correctly we had to blow away the entire cache on every system call because the line invalidate was so slow.

Re: L4Linux – Linux running on the L4 microkernel

#34
post #32

Earlier quoted context omitted.

> I worked with L4, and we had to throw it out because the microkernel overhead caused a 2x performance hit on frames per second for animations on a 400MHz ARM9. Were you sending individual graphics commands and rasters over IPC or something, or was that just the cost of the flips, and maybe a second flip from a compositor (or blitter)?

Userspace would render its local window and send the invalidated regions to the kernel. The problem was two fold. L4 ipc was just slower then a swi, and l4 driver model would lock the page table for every region instead of just checking every region all at once.

Which L4 was this, by the way? Did you replace it with an RTOS, a POSIX system?

Re: L4Linux – Linux running on the L4 microkernel

#35

This is at least a decade old... If it was going to become a popular way of running Linux, as some have suggested, what's stopped it so far?

Virtual machines running Linux have actually become quite popular in the past decade. ;)

It's not the research project's fault that a different mechanism is used in the public cloud.

As for microkernels, they are actually used, but not in mainstream server systems.

Re: L4Linux – Linux running on the L4 microkernel

#37
post #32

Earlier quoted context omitted.

Userspace would render its local window and send the invalidated regions to the kernel. The problem was two fold. L4 ipc was just slower then a swi, and l4 driver model would lock the page table for every region instead of just checking every region all at once.

Which L4 was this, by the way? Did you replace it with an RTOS, a POSIX system?

We had an internal bear metal implementation already.

L4 was just pushed as the “hotness”, and ironically as a way to get around the linux GPL issues at the time.

I don’t want to sound to critical. L4 is actually easier to build drivers for than Linux, and you are much less likely to shoot yourself in the foot.

It’s a great microckernel. It’s just that 4% may all come from the most human sensitive application.

Re: L4Linux – Linux running on the L4 microkernel

#38
post #10

Okay, can someone explain why is this a thing? It is a genuine question. I am not very familiar with OS designs and skimming through the landing page didn't help. Is it essentially a Linux kernel that runs within an existing instance of Linux? Why is it important/useful? Thanks.

Microkernels and hypervisors are very closely related in the view of some. Paravirtualization, like L4 Linux, is when the guest is aware of being hosted and, at one time - maybe still, could outperform guest OSes on fully virtualized hardware. I'm not sure if that's all still true since Intel and AMD implemented VTX. If you want to see a neat demo of this stuff - check out the DROPs demo or TUD:OS http://demo.tudos.o…

> linii?

Linuces.

Re: L4Linux – Linux running on the L4 microkernel

#39
post #37

Earlier quoted context omitted.

Which L4 was this, by the way? Did you replace it with an RTOS, a POSIX system?

We had an internal bear metal implementation already. L4 was just pushed as the “hotness”, and ironically as a way to get around the linux GPL issues at the time. I don’t want to sound to critical. L4 is actually easier to build drivers for than Linux, and you are much less likely to shoot yourself in the foot. It’s a great microckernel. It’s just that 4% may all come from the most human sensitive application.

I still can't tell what L4 you're talking about. I've heard that there are some pretty big differences in performance between other L4s and seL4, for example.

Re: L4Linux – Linux running on the L4 microkernel

#40
post #37

Earlier quoted context omitted.

We had an internal bear metal implementation already. L4 was just pushed as the “hotness”, and ironically as a way to get around the linux GPL issues at the time. I don’t want to sound to critical. L4 is actually easier to build drivers for than Linux, and you are much less likely to shoot yourself in the foot. It’s a great microckernel. It’s just that 4% may all come from the most human sensitive application.

I still can't tell what L4 you're talking about. I've heard that there are some pretty big differences in performance between other L4s and seL4, for example.

The 4% come from a application-level benchmark that was popular back then. This is about ARM9/armv5 too, which is not suited for any multi-user OS as address spaces switching is very expensive compared to today's architectures (armv6+) due to the needed cache flushing on every address space switch. This has nothing to do with L4 variants, this is an architectural issue.
Post reply on HN