From owner-freebsd-hackers@FreeBSD.ORG Tue Jun 3 02:11:27 2003 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 03CDB37B401 for ; Tue, 3 Jun 2003 02:11:27 -0700 (PDT) Received: from cirb503493.alcatel.com.au (c18609.belrs1.nsw.optusnet.com.au [210.49.80.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id C0E2343F93 for ; Tue, 3 Jun 2003 02:11:25 -0700 (PDT) (envelope-from peterjeremy@optushome.com.au) Received: from cirb503493.alcatel.com.au (localhost.alcatel.com.au [127.0.0.1])h539BMp9057944; Tue, 3 Jun 2003 19:11:23 +1000 (EST) (envelope-from jeremyp@cirb503493.alcatel.com.au) Received: (from jeremyp@localhost) by cirb503493.alcatel.com.au (8.12.8/8.12.8/Submit) id h539BHoc057943; Tue, 3 Jun 2003 19:11:17 +1000 (EST) Date: Tue, 3 Jun 2003 19:11:17 +1000 From: Peter Jeremy To: Marko Zec Message-ID: <20030603091117.GC57773@cirb503493.alcatel.com.au> References: <20030530133302.A48390@FreeBSD.org> <20030602200158.GH65470@perrin.int.nxad.com> <3EDBC881.C99CB47D@tel.fer.hr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3EDBC881.C99CB47D@tel.fer.hr> User-Agent: Mutt/1.4.1i cc: hackers@freebsd.org Subject: Re: Network stack cloning / virtualization patches X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jun 2003 09:11:27 -0000 On Mon, Jun 02, 2003 at 11:58:25PM +0200, Marko Zec wrote: >There are two major possible causes for overhead increase. First, each IP >protocol related tunable variable and most of the global symbols involved in >network processing have been virtualized. [...] And second, many kernel >functions have been extended with an additional argument, typically a pointer >to a struct vimage, A third issue on the x86 is a lack of registers: There are only 6 "general purpose" registers (and each of them actually has a specific purpose). Eating one of these registers to maintain a pointer to a struct vimage will be a noticable performance hit. > However, a couple of percents in overhead increase that can be >observed only in worst case loopback tests do not present a problem >in any real-life scenario. Agreed. It would be useful to get some real-world figures. >> Julian, am I safe in assuming that you have an interest in this work? >> If not, I may setup a p4 branch to work with and to merge these bits >> into -CURRENT if no one else is interested. -sc > >I would be really honored to see the cloning code merged in -CURRENT one day. >However, at the moment I'm strongly opposed to such a proposal, since the code >is simply not mature enough. My understanding is that the p4 tree is specifically intended for this sort of thing. It provides a controlled environment where the code could be nursed from its current "immature" form into something that can be safely merged into the main CVS tree. Peter