From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753057AbbCXPY0 (ORCPT ); Tue, 24 Mar 2015 11:24:26 -0400 Received: from shonan.sfc.wide.ad.jp ([203.178.142.130]:34157 "EHLO mail.sfc.wide.ad.jp" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752921AbbCXPYV (ORCPT ); Tue, 24 Mar 2015 11:24:21 -0400 Date: Wed, 25 Mar 2015 00:24:17 +0900 Message-ID: From: Hajime Tazaki To: richard@nod.at Cc: linux-arch@vger.kernel.org, arnd@arndb.de, corbet@lwn.net, cl@linux.com, penberg@kernel.org, rientjes@google.com, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, netdev@vger.kernel.org, linux-mm@kvack.org, jdike@addtoit.com, rusty@rustcorp.com.au, mathieu.lacage@gmail.com Subject: Re: [RFC PATCH 00/11] an introduction of library operating system for Linux (LibOS) In-Reply-To: <55117565.6080002@nod.at> References: <1427202642-1716-1-git-send-email-tazaki@sfc.wide.ad.jp> <551164ED.5000907@nod.at> <55117565.6080002@nod.at> 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 At Tue, 24 Mar 2015 15:32:05 +0100, Richard Weinberger wrote: > > Am 24.03.2015 um 15:25 schrieb Hajime Tazaki: > > At Tue, 24 Mar 2015 14:21:49 +0100, > > Richard Weinberger wrote: > >> > >> Am 24.03.2015 um 14:10 schrieb Hajime Tazaki: > >> > == More information == > >>> > >>> The crucial difference between UML (user-mode linux) and this approach > >>> is that we allow multiple network stack instances to co-exist within a > >>> single process with dlmopen(3) like linking for easy debugging. > >> > >> Is this the only difference? > >> We already have arch/um, why do you need arch/lib/ then? > >> My point is, can't you merge your arch/lib into the existing arch/um stuff? > >> From a very rough look your arch/lib seems like a micro UML. > > > > I understand your point. > > but ptrace(2) based system call interception used by UML > > makes it depend on the host OS (i.e., linux kernel), while > > LibOS uses symbol hijacking with weak alias and LD_PRELOAD. > > > > we're really thinking to run this library on other > > POSIX-like hosts (e.g., osx) though it's not coming yet. > > Yeah, but this does not mean that arch/um and arch/lib can't coexist in arch/um. > Maybe you can add a "library operation mode" to UML. > I'll happily help you in that area. I was thinking that such 'architectural' differences in core idea (like system call handling, execution model, process context design, etc) is better to have a different architecture even if some part of the code is similar. Isn't it also the same to the other 'hardware-dependent' architectures' case like between arm and arm64 ? of course I'm also happy to share the code between us, especially _pure_ userspace part like (virtual) NIC with tap or pcap because we also need that part, but we kept such code at an external codebase (i.e., linux-libos-tools). > >> BTW: There was already an idea for having UML as regular library. > >> See: http://user-mode-linux.sourceforge.net/old/projects.html > >> "UML as a normal userspace library" > > > > thanks, it's new information for me. > > were there any trial on this idea ? > > IIRC Jeff (the original author of UML) wanted to create a special linker script > such that you can build UML as shared object. okay. thanks. -- Hajime