From owner-freebsd-hackers@FreeBSD.ORG Mon Feb 7 22:20:29 2005 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 6FD4D16A4CE for ; Mon, 7 Feb 2005 22:20:29 +0000 (GMT) Received: from smtp.intellex.com (smtp.intellex.com [199.233.213.9]) by mx1.FreeBSD.org (Postfix) with SMTP id 9DF6443D45 for ; Mon, 7 Feb 2005 22:20:28 +0000 (GMT) (envelope-from chris@smtp.intellex.com) Received: (qmail 61162 invoked by uid 0); 7 Feb 2005 22:38:53 -0000 Received: (qmail 10023 invoked from network); 7 Feb 2005 15:44:01 -0000 Received: from mx2.freebsd.org (216.136.204.119) by smtp.intellex.com with SMTP; 7 Feb 2005 15:44:01 -0000 Received: from hub.freebsd.org (hub.freebsd.org [216.136.204.18]) by mx2.freebsd.org (Postfix) with ESMTP id 01BB557425; Mon, 7 Feb 2005 15:23:13 +0000 (GMT) (envelope-from owner-freebsd-current@freebsd.org) Received: from hub.freebsd.org (localhost [127.0.0.1]) by hub.freebsd.org (Postfix) with ESMTP id 1495616A4EE; Mon, 7 Feb 2005 15:23:04 +0000 (GMT) Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2D7E316A4CE; Mon, 7 Feb 2005 15:22:57 +0000 (GMT) Received: from cyrus.watson.org (cyrus.watson.org [204.156.12.53]) by mx1.FreeBSD.org (Postfix) with ESMTP id B146343D48; Mon, 7 Feb 2005 15:22:56 +0000 (GMT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by cyrus.watson.org (Postfix) with SMTP id 0E62C46B11; Mon, 7 Feb 2005 10:22:56 -0500 (EST) Date: Mon, 7 Feb 2005 15:21:57 +0000 (GMT) From: Robert Watson X-Sender: robert@fledge.watson.org To: ALeine In-Reply-To: <200502061806.j16I64bE037040@marlena.vvi.at> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Sender: owner-freebsd-current@freebsd.org Errors-To: owner-freebsd-current@freebsd.org cc: freebsd-hackers@freebsd.org cc: k-sasaki@ist.osaka-u.ac.jp cc: freebsd-current@freebsd.org Subject: Re: FW: Call for comments: CoxR, a CVS/mail-lists/BTS X-BeenThere: freebsd-hackers@freebsd.org List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2005 22:20:29 -0000 On Sun, 6 Feb 2005, ALeine wrote: > Oh come, FreeBSD 5.x does have a mutex hell going on, but to say it has > so many bugs as to require a truck is absurd. :-> A smaller lorry > perhaps, but a truck - definitely not. :-) It might also be a good idea > to use an automated spell-check on your pages, I've noticed a number of > typos such as "divelopers" and similar. I appreciate that not everyone is a fan of mutex synchronization, but "mutex hell" is a bit of an odd description: most bugs I see getting reported (and fixed) aren't even locking-related. They're generally a property of lack of testing exposure for more obscure features or edge cases that are hard to test for without a wide testing base, such as edge-case hardware, bugs associated with longer run times, or a recently introduced feature, etc. Generally speaking, in the last week, I saw a couple of classes of bug fix fly by in commits, in order of frequency of occurence: - Minor device driver bugs involving alignment, feature mapping for device IDs, attach/detach bugs, error handling, etc. In one case, the bug was that a device driver was able to run MPSAFE, but the flag was set incorrectly to not let it. As usual, a moderate amount of change in ACPI. This was the vast majority of bug fixes. - Network stack logical errors or C-related errors: generally, doing something wrong with mbufs or routing. Mostly "syntax" and not "semantics", although a couple of netflow bugs that were more serious and the result of more broad exposure since its commit (last month?). - Scheduling related bugs in ULE -- Jeff MFC'd a number of fixes to RELENG_5 for the first time in several months, so there was some backlog, but I think it's not unusual to see a trickle of scheduling related changes, so isn't entirely unrepresentative. - VFS/file system bugs -- a couple were locking related as a result of Jeff's on-going work to get Giant off of the file system code, but more were associated with on-going buffer cache work by Poul-Henning. While I haven't made any attempt to determine if the last week is "typical" of long term bug fixes, it was easily on-hand, and the results are suggestive. Locking, as with other complex changes in the OS, comes with bugs, but it's hardly "hell" :-). One of the nice things about the locking approach to synchronization is that it comes with a strong assertion model: this means you can often find bugs without actually triggering the symptoms of the bugs, which may be difficult to trigger or very sensitive to timing. So when there are locking bug fixes, there more often found through a WITNESS warning than an exercised bug. When I do complex application pthreads programming, I often wish it had the threading/locking debugging facilities the FreeBSD kernel has :-). Robert N M Watson _______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"