Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752184AbbKHNpT (ORCPT ); Sun, 8 Nov 2015 08:45:19 -0500 Received: from mail-pa0-f51.google.com ([209.85.220.51]:32899 "EHLO mail-pa0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750887AbbKHNpP (ORCPT ); Sun, 8 Nov 2015 08:45:15 -0500 Date: Sun, 08 Nov 2015 22:45:10 +0900 Message-ID: From: Hajime Tazaki To: octavian.purdila@intel.com Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 00/28] Linux Kernel Library In-Reply-To: <1446582059-17355-1-git-send-email-octavian.purdila@intel.com> References: <1446582059-17355-1-git-send-email-octavian.purdila@intel.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/22.3 Mule/5.0 (SAKAKI) X-Face: "+?b:_s\r$dbBx'Ur*k#`5|~\>v~i`PzaxANTx_S?J>:mTQrtm:c7'f5b~W2eX~Fl[0Pw,0bow)8r8Z5,D&>]C/'ujqr:fbY>]/52T^Q~cX*y5\?!"i<^Vp=zCNguAeyPH$`ZTv{di25X8,%@! MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1860 Lines: 54 Hello Octavian, At Tue, 3 Nov 2015 22:20:31 +0200, Octavian Purdila wrote: > > > Q: How is LKL different from LibOS? > A: LibOS re-implements high-level kernel APIs for timers, softirqs, > scheduling, sysctl, SLAB/SLUB, etc. LKL behaves like any arch port, > implementing the arch level operations requested by the Linux kernel. LKL > also offers a host interface so that support for multiple hosts can be > easily implemented. I review most of code with the help of document and paper (2010). I think LKL and LibOS are essentially the same thing. I describe the current differences of both features, which I believe there are no fundamental ones (i.e., both can improve by putting some efforts). - LKL (beautiful) arch implementation (I like it) fully kbuild compliant rich fs support host support: POSIX, win, haiku, etc - LibOS existing application integration (semi-automated) system call table generation multiple process support (via system call proxy) various network backends (raw socket, DPDK, netmap, tap) symbol namespace separation host support: == rump hypercall (POSIX, xen, qemu/kvm/baremetal(under development)), ns-3 simulator # I can't find network support within the current patch but there is/will be a certain code that LKL can play with networking subsystem. existing application integration is really important when you want to configure network stack: since the configuration of file systems is just a mount(), but configurations of network stack need much userspace applications like iproute2 (ip, ss, tc) etc, which is not trivial to re-implement. -- Hajime -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/