From owner-freebsd-arch Thu Feb 28 7:12:25 2002 Delivered-To: freebsd-arch@freebsd.org Received: from mail11.speakeasy.net (mail11.speakeasy.net [216.254.0.211]) by hub.freebsd.org (Postfix) with ESMTP id 43D7B37B402 for ; Thu, 28 Feb 2002 07:11:10 -0800 (PST) Received: (qmail 28950 invoked from network); 28 Feb 2002 15:11:01 -0000 Received: from unknown (HELO server.baldwin.cx) ([65.90.117.97]) (envelope-sender ) by mail11.speakeasy.net (qmail-ldap-1.03) with DES-CBC3-SHA encrypted SMTP for ; 28 Feb 2002 15:11:01 -0000 Received: from laptop.baldwin.cx (john@laptop.baldwin.cx [192.168.0.4]) by server.baldwin.cx (8.11.6/8.11.6) with ESMTP id g1SF9vG40915 for ; Thu, 28 Feb 2002 10:09:57 -0500 (EST) (envelope-from jhb@FreeBSD.org) Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 Date: Thu, 28 Feb 2002 10:09:51 -0500 (EST) From: John Baldwin To: arch@FreeBSD.org Subject: SMPng Design (Well, some of it anyways) Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG First, let me prefix this by saying that the last two weeks have been very stressful. If you guys are trying to kick me out of FreeBSD just keep it up, you almost convinced me to leave this time around. It sure seems to be your goal. :( Secondly, the changes we are making to the kernel with SMPng can't all be done in piecemeal fashion. Not all changes are 5 line commits. For example, the kernel preemption patch is rather small, however, it exposes a number of really obscure bugs that aren't easy to track down. Rather, kernel preemption is a long term goal, and having developed it in a side branch has helped give future direction as to how the kernel should go. If you guys can't handle a roadmap that has future milestones farther away than 1 week, then I have to wonder why even are doing SMPng. Also, we have most of the preemption stuff in current now. It's not optimal at the moment, but it's close enough that there is lower-hanging fruit (such as the proc locking stuff I've been doing instead) that gives us a bigger bang for the buck. Anyways, as I said at BSDCon (but was apparently ignored when I said it, just as people seem to not have noticed when I said was working on changing all the process credential stuff) I have been working on a sort of design document. It's up to about 7 pages of actual text in PS and PDF. There are some things in it that I'm sure are going to upset people. Mostly one of my themes that a lot of folks don't seem to share is this: We should not optimize yet. The kernel architecture is still in a state of flux and we need to be able to change API's when we find that the ones we have don't actually work. If we invest a lot of time optimizing the API's we have now, then it will be a big pain if we need to change that API. Also, people will not want to lose all their work doing optimization and thus will try to stall the needed API changes. I don't want to fight those battles. To reach the at least 10% worse than 4.x or better goal I announced at BSDCon for 5.0, I want us to be working on pushing down Giant by locking subsystems. Not cheating by trying to do very machine specific optimizations. I don't want i386 to meet the goal but all other arch's to be dog slow. I'd much rather have the effort spent on MI code. I know I probably just pissed a lot of you off, but I'm taking a long range view here, not a short range view. Anyways, the document as it currently stands can be found at: http://www.FreeBSD.org/~jhb/smpng/design/article.{ps,pdf} I will continue to add new sections and flush out the skeleton ones as I have time. The paper at the URL above will be updated as I do so. If you collectively decide as a group that I'm off my rocker and this is all crap, then I'll happily step down from SMPng and go do my work somewhere else as in that case I am obviously not the right person for the job. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message