From owner-freebsd-hackers@FreeBSD.ORG Sun Mar 16 13:26:21 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EBF311065686 for ; Sun, 16 Mar 2008 13:26:21 +0000 (UTC) (envelope-from kris@FreeBSD.org) Received: from weak.local (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 67FE08FC1E; Sun, 16 Mar 2008 13:26:21 +0000 (UTC) (envelope-from kris@FreeBSD.org) Message-ID: <47DD1FFF.6070004@FreeBSD.org> Date: Sun, 16 Mar 2008 14:26:23 +0100 From: Kris Kennaway User-Agent: Thunderbird 2.0.0.12 (Macintosh/20080213) MIME-Version: 1.0 To: Jordan Gordeev References: <47DBC800.8030601@dir.bg> In-Reply-To: <47DBC800.8030601@dir.bg> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-hackers@freebsd.org Subject: Re: vkernel & GSoC, some questions X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 16 Mar 2008 13:26:22 -0000 Jordan Gordeev wrote: > Hello! > I am a student who considers applying for Google's Summer of Code > programme. > One of my ideas for a GSoC project has the following synopsis: > > Add virtual kernel (vkernel) support to FreeBSD for the i386 and > amd64 architectures. > > The vkernel support in question is the one found in DragonFlyBSD. > I wonder if vkernel support would have its place among the myriad of > virtualisation technologies, and if it would aid kernel hackers in their > kernel development work. > I also wonder if anybody would be interested in mentoring this. There are some important things to be aware of with Dragonfly's vkernel. Firstly, while Matt brought it to the point where it works to the extent of booting, being able to recompile kernels, etc, it was never optimized for performance. Dragonfly vkernels are *slow*, even relative to dragonfly non-vkernels which are already much slower than FreeBSD kernels across the board. In this sense it is not a complete project, and what remains to be done is the harder part of the work. It has also not been seriously stress-tested (in part because it is not production quality, but also because it has few users), so there may be a lot of bug fixing required to stabilize the code. Secondly, I don't know to what extent the vkernel work is multi-processor ready, but given that SMP support has also not been a priority for dragonfly there may well be large amounts of SMP work needed to integrate with FreeBSD. Any multi-processor synchronization present would likely have to be reimplemented for FreeBSD anyway due to the different architectural models. None of these issues are being actively worked on in dragonfly, as far as I know. Finally, the way vkernels were implemented in dragonfly was *very* disruptive to the kernel source (lots of function renaming etc), so it is likely that this would also have to be completely reimplemented in a FreeBSD port. The bottom line is that while vkernel is an interesting beginning of a project, it is not a complete piece of code that is suitable for porting to FreeBSD in its present form, and that doesn't seem likely to change in the forseeable future. Kris