From owner-freebsd-chat Tue Feb 4 9:32: 5 2003 Delivered-To: freebsd-chat@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A4FDC37B401 for ; Tue, 4 Feb 2003 09:32:02 -0800 (PST) Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9BDB843FAF for ; Tue, 4 Feb 2003 09:32:01 -0800 (PST) (envelope-from des@ofug.org) Received: by flood.ping.uio.no (Postfix, from userid 2602) id 53E8B536E; Tue, 4 Feb 2003 18:31:58 +0100 (CET) X-URL: http://www.ofug.org/~des/ X-Disclaimer: The views expressed in this message do not necessarily coincide with those of any organisation or company with which I am or have been affiliated. To: Shaun Jurrens Cc: freebsd-chat@freebsd.org Subject: Re: Project status From: Dag-Erling Smorgrav Date: Tue, 04 Feb 2003 18:31:58 +0100 In-Reply-To: <20030204151457.GA85804@papagena.rockefeller.edu> (Rahul Siddharthan's message of "Tue, 4 Feb 2003 10:14:58 -0500") Message-ID: User-Agent: Gnus/5.090014 (Oort Gnus v0.14) Emacs/21.2 (i386--freebsd) References: <20030204151457.GA85804@papagena.rockefeller.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Rahul Siddharthan writes: > I think it would help if ordinary people like us understood what some > of the new-fangled features are really about. It's clear that some > very senior developers don't fully understand, or have doubts about, > Geom and KSE(*) (to take two examples). The "status reports" describe > them a bit, but not in nearly enough detail, I feel. Since you're asking, I'll try to briefly describe some of the new subsystems we're working on in -CURRENT (for appropriate values of "we") - DEVFS is both a framework for creating devices (and allocating major / minor numbers for them etc) and a file system which exposes device nodes for these devices and allows standard operations such as removing a node, creating a symlink to a node, etc. DEVFS also has a mechanism for specifying the ownership and mode of as-yet nonexistent devices, to make up for the fact that it doesn't remember chown / chmod operations across reboots. Although a very small, very vocal minority is violently opposed to DEVFS, everybody else seems to agree it's a lifesaver, especially people who use hot-plug devices a lot (pccard and USB devices) - devd is a daemon that uses features of DEVFS to detect the creation or destruction of devices and apply various operations to these devices (e.g. automatically run dhclient when you insert a NIC into a pccard slot). I believe it's mostly there to replace pccardd, which NEWCARD obsoleted. - GEOM is a framework for applying various transformations to disk devices, and exporting the transformed devices as new devices. The heart of GEOM is a method for "tasting" devices to discover what transformations are applicable and then applying them by creating instances of one or more GEOM class to the device. This process is recursive, so a geom (an instance of a GEOM class) can attach to another geom, etc. GEOM turns what used to be an ugly ad-hoc jumble of code into a neat stack or graph of geoms which operate upon one another and export device nodes to userland. For instance, on a typical i386 system, each disk is "tasted" at boot time and found to contain a DOS partition table, which causes geoms to be instantiated for each slice (FreeBSD-speak for partition); then each slice is "tasted" again, giving rise to other geoms depending on their contents. GEOM is also exceptionally well documented, both inside and outside the CVS tree. - KSE ("kernel scheduled entities") is a threading architecture, both for in-kernel threads and for mapping userland threads onto kernel threads (which allows splitting one application across multiple CPUs; our current thread library doesn't). I don't know of any substantial opposition against KSE. There are some concerns that the M-on-N model is not really better than the 1-on-1 model, especially now that Solaris has switched to the latter, and that KSE is over-engineered and possibly out of the reach of a team of (relatively) amateur volunteers. Otherwise, complaints regarding KSE are mostly about how much time it's taking to implement, and concerns that the KSE developers aren't subjecting their code to sufficient testing before committing it. Note that I'm neither confirming or refuting any of these claims, just reporting what other people are saying about KSE. Any more subsystems you're curious about? > Some time Matt wrote a very detailed and educational article in > daemonnews about the VM, where even I felt I could understand what was > going on (an illusion, no doubt). Other people write articles too. They even get them refereed and present them at international conferences: USENIX, FREENIX, BSDCon, BSDCon Europe, NORDU etc. There are also proceedings from various developer summits, e.g. Audio recordings of some of these meetings are also available; the 2002 summit is at > (*)After writing that, I had another look at the project web pages > cited in the status report, http://www.freebsd.org/kse/ and > http://people.freebsd.org/~phk/Geom/ . It's not actually so > uninformative as I thought, but it's still worth filling them out, > especially Geom. Poul-Henning has written several papers about Geom; unfortunately, they're not linked from the Geom page, but you should be able to find them with Google. DES -- Dag-Erling Smorgrav - des@ofug.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message