From owner-freebsd-arch@FreeBSD.ORG Thu Mar 20 09:45:38 2008 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 697FF1065674; Thu, 20 Mar 2008 09:45:38 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id 337E58FC15; Thu, 20 Mar 2008 09:45:38 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 9B8EE46BAB; Thu, 20 Mar 2008 05:45:37 -0400 (EDT) Date: Thu, 20 Mar 2008 09:45:37 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Jeff Roberson In-Reply-To: <20080319162928.V910@desktop> Message-ID: <20080320094335.R25104@fledge.watson.org> References: <20080307020626.G920@desktop> <20080318235125.G910@desktop> <20080319172344.GX67856@elvis.mu.org> <200803191526.56761.jhb@freebsd.org> <20080319162928.V910@desktop> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Daniel Eischen , arch@freebsd.org, Alfred Perlstein , David Xu , freebsd-arch@freebsd.org Subject: Re: Getting rid of the static msleep priority boost X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Mar 2008 09:45:38 -0000 On Wed, 19 Mar 2008, Jeff Roberson wrote: >> Perhaps there are no performance differences, but the cv/mutex primitives >> are a nice clean interface that most everyone understands. If you are >> going to write a professional OS from the ground up, I doubt you are going >> to have anything as convoluted as msleep() as part of your kernel API/ABI. > > One real obstacle to converting all locations to cv_* is the lack of support > for anything other than mtx def mutexes in the cv api. It also just doesn't > seem like a good use of developer resources regardless of how you feel about > msleep. I thought condvar was converted in 7.x to accepting a struct lock for precisely this reason? I assume (perhaps incorrectly) that it can't be used with spin mutexes, but thought, as a result, that we could now use it with other lock types, such as sx locks? Robert N M Watson Computer Laboratory University of Cambridge