From owner-freebsd-arch@FreeBSD.ORG Wed Mar 19 09:52:25 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 5DA2C1065671; Wed, 19 Mar 2008 09:52:25 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from webaccess-cl.virtdom.com (webaccess-cl.virtdom.com [216.240.101.25]) by mx1.freebsd.org (Postfix) with ESMTP id 182188FC20; Wed, 19 Mar 2008 09:52:25 +0000 (UTC) (envelope-from jroberson@chesapeake.net) Received: from [192.168.1.107] (cpe-24-94-75-93.hawaii.res.rr.com [24.94.75.93]) (authenticated bits=0) by webaccess-cl.virtdom.com (8.13.6/8.13.6) with ESMTP id m2J9qMID087939; Wed, 19 Mar 2008 05:52:23 -0400 (EDT) (envelope-from jroberson@chesapeake.net) Date: Tue, 18 Mar 2008 23:53:14 -1000 (HST) From: Jeff Roberson X-X-Sender: jroberson@desktop To: David Xu In-Reply-To: <47E0CCC4.8040503@freebsd.org> Message-ID: <20080318235125.G910@desktop> References: <20080307020626.G920@desktop> <47E0CCC4.8040503@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: Daniel Eischen , 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: Wed, 19 Mar 2008 09:52:25 -0000 On Wed, 19 Mar 2008, David Xu wrote: > Daniel Eischen wrote: > >> I'm not sure if any of the above remove the priority from the API, >> but it would be nice to get rid of msleep totally and replace it >> with an equivalent cv_wait(). >> > > And create sleep queue in each cv to get rid of shared sleep queue > lock ? Some spinlock is required to interlock with the scheduler lock via thread_lock(). So I don't think you can get rid of that layer. You also wouldn't want to have the cost of a 'struct sleepqueue' everywhere you want a msleep/condvar. I personally don't see any real advantage to using condvar everywhere. The only thing you really get is protection against spurious wakeups. Thanks, Jeff > > Regards, > David Xu >