From owner-freebsd-stable Mon Apr 2 2:23: 6 2001 Delivered-To: freebsd-stable@freebsd.org Received: from fw.wintelcom.net (ns1.wintelcom.net [209.1.153.20]) by hub.freebsd.org (Postfix) with ESMTP id AE3C537B722 for ; Mon, 2 Apr 2001 02:23:03 -0700 (PDT) (envelope-from bright@fw.wintelcom.net) Received: (from bright@localhost) by fw.wintelcom.net (8.10.0/8.10.0) id f329Mvr18328; Mon, 2 Apr 2001 02:22:57 -0700 (PDT) Date: Mon, 2 Apr 2001 02:22:57 -0700 From: Alfred Perlstein To: Greg Lehey Cc: Andrew Gordon , freebsd-stable@FreeBSD.ORG Subject: Re: 4.3-RC processes stuck sleeping on "inode" (?vinum) problem update Message-ID: <20010402022257.N813@fw.wintelcom.net> References: <20010402094208.D73090@wantadilla.lemis.com> <20010402182909.A75576@wantadilla.lemis.com> <20010402021449.M813@fw.wintelcom.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010402021449.M813@fw.wintelcom.net>; from bright@wintelcom.net on Mon, Apr 02, 2001 at 02:14:49AM -0700 X-all-your-base: are belong to us. Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG * Alfred Perlstein [010402 02:15] wrote: > > As far as a fix, a couple of suggestions: > > 1) I think unlockrange might require an splbio to protect the > lock-> data as well as the plex-> data. One thing you might want to do is sprinkle the code with some splasserts() to make sure they're being called correctly. Since lockrange uses splbio, but unlockrange doesn't seem to, it would seem to be an error if unlockrange() is called without splbio. > 2) I think you may want to be using wakeup, not wakeup_one(), > although doing that may really be obscuring the problem rather > than solving it. Along with this, what may be useful for debugging is checking the return value from tsleep with a timeout when the timeout expires, then dump some info about the current lock state, perhaps take a snapshot right before sleeping and then display the difference when you timeout and wake up. -- -Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org] Daemon News Magazine in your snail-mail! http://magazine.daemonnews.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message