From owner-cvs-src@FreeBSD.ORG Sun May 25 16:34:36 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7D8C337B401; Sun, 25 May 2003 16:34:36 -0700 (PDT) Received: from mail.chesapeake.net (chesapeake.net [208.142.252.6]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6642443F3F; Sun, 25 May 2003 16:34:35 -0700 (PDT) (envelope-from jroberson@chesapeake.net) Received: from localhost (jroberson@localhost) by mail.chesapeake.net (8.11.6/8.11.6) with ESMTP id h4PNYYc53810; Sun, 25 May 2003 19:34:34 -0400 (EDT) (envelope-from jroberson@chesapeake.net) From: Jeff Roberson To: "Alan L. Cox" In-Reply-To: <3ED13356.652D9C44@imimic.com> Message-ID: <20030525193333.Q69975-100000@mail.chesapeake.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org cc: Jeff Roberson cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_umtx.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Date: Sun, 25 May 2003 23:34:36 -0000 X-Original-Date: Sun, 25 May 2003 19:34:34 -0400 (EDT) X-List-Received-Date: Sun, 25 May 2003 23:34:36 -0000 On Sun, 25 May 2003, Alan L. Cox wrote: > Jeff Roberson wrote: > > > > jeff 2003/05/25 11:18:32 PDT > > > > FreeBSD src repository > > > > Modified files: > > sys/kern kern_umtx.c > > Log: > > - Create a new lock, umtx_lock, for use instead of the proc lock for > > protecting the umtx queues. We can't use the proc lock because we need > > to hold the lock across calls to casuptr, which can fault. > > > > Approved by: re > > > > Revision Changes Path > > 1.3 +13 -6 src/sys/kern/kern_umtx.c > > In general, we can sleep on a fault. Thus, you could be holding this > mutex at the time of a sleep. > That was just pointed out to me. This patch at least makes things slightly more correct. I'm going to have to look at the problem a little closer to see if I can implement this code without holding a lock across the casuptr. otherwise I'll have to use sx. Cheers, Jeff