From owner-freebsd-advocacy Thu Dec 20 14:51:39 2001 Delivered-To: freebsd-advocacy@freebsd.org Received: from mail6.speakeasy.net (mail6.speakeasy.net [216.254.0.206]) by hub.freebsd.org (Postfix) with ESMTP id C343E37B416 for ; Thu, 20 Dec 2001 14:51:35 -0800 (PST) Received: (qmail 10963 invoked from network); 20 Dec 2001 22:51:34 -0000 Received: from unknown (HELO laptop.baldwin.cx) ([64.81.54.73]) (envelope-sender ) by mail6.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 20 Dec 2001 22:51:34 -0000 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 In-Reply-To: <027901c189a7$62a133c0$0a00000a@atkielski.com> Date: Thu, 20 Dec 2001 14:51:12 -0800 (PST) From: John Baldwin To: Anthony Atkielski Subject: Re: Microsoft Advocacy? Cc: Gilbert Gong , advocacy@FreeBSD.org, Jeremiah Gowdy Sender: owner-freebsd-advocacy@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 20-Dec-01 Anthony Atkielski wrote: > John writes: > >> Yes, I have read them. I also note that the >> ones I am willing to sign do not make restrictions >> on the open source software I develop. > > Even if you are willing to stand your ground, can you be certain that all > others do the same? Yes, I'm quite certain of Mike and Jordan since we worked together at our last jobs and they fought rather vehemently to have the IP agreement toned down to allow unrestricted Open Source development. >> Unmaskable interrupts are usually fatal >> machine exceptions where we are about >> to panic anyway, so they are not a concern. > > Usually? What are the exceptions, and how do you handle them? NMI's on a PC, or a double fault, which you can't really handle. If you get a page fault or some such while holding a spin lock, it is always a panic (usually a null pointer dereference) since we only hold spin locks in very small sections. > If you have locks that are set only within code that inhibits interrupts, > you don't have to worry about the overhead of spinning on them, because they > will always be unlocked. If you remove the locks, though, and for any > reason the code is interrupted by an unmaskable interrupt, you may > experience an unpredictable system failure. Leaving the lock in incurs very > little overhead and offers a sanity check, just in case you overlooked > something. Uh, no. Atomic operations are _quite_ expensive. On x86, they lock the bus which means waiting until the bus is free. On sparc64, they involve using a barrier that forces the CPU to flush its store buffer before handling the actual atomic operation. Alpha, ia64, and ppc have similar expenses. But anyways, this isn't an advocacy issue. If you really care, first go look at some actual code to see where these things are used and how, then you can bring up a discussion on -arch, -hackers, -smp, or some other more appropriate list in response to whenever I get around to committing it after testing. -- 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-advocacy" in the body of the message