Earlier quoted context omitted.
This does not make any sense. As soon you issue any system call you will trigger a context switch. So, eve without using FUSE and just using LKL as tool to extract your favorite filesystem it will face them. But the context switches not the bottleneck in FUSE. Did you benchmark?
You're absolutely correct; I'm not sure why I was thinking this would eliminate context switching. I don't have a filesystem written, just a lot of musing and reading about it. Wouldn't context switching be the bottleneck when you have lots of small files/transactions? What is usually the bottleneck with FUSE in your experience?
Meet LKL: Turn Linux Kernel into a Library
11–20 of 25 posts
Re: Meet LKL: Turn Linux Kernel into a Library
#12So basically this is Linux's version of NetBSD's Rump, right?
Re: Meet LKL: Turn Linux Kernel into a Library
#13I added experimental support for LKL to libguestfs[1]. It's not upstream in libguestfs because LKL isn't upstream in the kernel, but I'm rooting for it because it'll be nice to have a rump kernel based on Linux. It makes it a much easier sell for all the companies currently built around the "Linux ecosystem". One problem is it appears to require that programs are rewritten, replacing all system calls with lkl_sys_* v…
Re: Meet LKL: Turn Linux Kernel into a Library
#14I added experimental support for LKL to libguestfs[1]. It's not upstream in libguestfs because LKL isn't upstream in the kernel, but I'm rooting for it because it'll be nice to have a rump kernel based on Linux. It makes it a much easier sell for all the companies currently built around the "Linux ecosystem". One problem is it appears to require that programs are rewritten, replacing all system calls with lkl_sys_* v…
It might be useful to make an LD_PRELOAD library that does the translation.
Re: Meet LKL: Turn Linux Kernel into a Library
#15So basically this is Linux's version of NetBSD's Rump, right?
If it's not an instance of a selection of components running on top of externally scheduled threads, it's not a rump kernel in my book. So, strictly speaking no, but the answer really depends on what you want to convey by "basically". Many of the use cases should fit both projects.
Re: Meet LKL: Turn Linux Kernel into a Library
#16Earlier quoted context omitted.
If it's not an instance of a selection of components running on top of externally scheduled threads, it's not a rump kernel in my book. So, strictly speaking no, but the answer really depends on what you want to convey by "basically". Many of the use cases should fit both projects.
I don't know enough about rump to talk more definitively, and in fact I've failed to find an overview about what it is technically, how it works on NetBSD, how it works outside NetBSD, etc. Does running rump on Linux provide the SMP scalability improvements one misses with NetBSD's kernel for instance? Can you point me at something to read that's short enough to digest in an hour?
SMP scalability is all about bottlenecks. If the driver is the bottleneck, it won't scale no matter where you run it.
Re: Meet LKL: Turn Linux Kernel into a Library
#17Re: Meet LKL: Turn Linux Kernel into a Library
#18[1] https://www.nsnam.org/overview/projects/direct-code-executio...
Re: Meet LKL: Turn Linux Kernel into a Library
#19So basically this is Linux's version of NetBSD's Rump, right?
If it's not an instance of a selection of components running on top of externally scheduled threads, it's not a rump kernel in my book. So, strictly speaking no, but the answer really depends on what you want to convey by "basically". Many of the use cases should fit both projects.
Re: Meet LKL: Turn Linux Kernel into a Library
#20I added experimental support for LKL to libguestfs[1]. It's not upstream in libguestfs because LKL isn't upstream in the kernel, but I'm rooting for it because it'll be nice to have a rump kernel based on Linux. It makes it a much easier sell for all the companies currently built around the "Linux ecosystem". One problem is it appears to require that programs are rewritten, replacing all system calls with lkl_sys_* v…
It might be useful to make an LD_PRELOAD library that does the translation.