From owner-cvs-src@FreeBSD.ORG Mon Mar 31 17:34:21 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 D8E1A37B405 for ; Mon, 31 Mar 2003 17:34:20 -0800 (PST) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 8FC9943FE0 for ; Mon, 31 Mar 2003 17:34:19 -0800 (PST) (envelope-from nate@rootlabs.com) Received: (qmail 8320 invoked by uid 1000); 1 Apr 2003 01:34:21 -0000 Date: Mon, 31 Mar 2003 17:34:21 -0800 (PST) From: Nate Lawson To: Jeff Roberson In-Reply-To: <20030401011121.0419C37B4AD@hub.freebsd.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern kern_umtx.c src/sys/sys umtx.h 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: , X-List-Received-Date: Tue, 01 Apr 2003 01:34:21 -0000 On Mon, 31 Mar 2003, Jeff Roberson wrote: > Added files: > sys/kern kern_umtx.c > sys/sys umtx.h > Log: > - Add an api for doing smp safe locks in userland. > - umtx_lock() is defined as an inline in umtx.h. It tries to do an > uncontested acquire of a lock which falls back to the _umtx_lock() > system-call if that fails. > - umtx_unlock() is also an inline which falls back to _umtx_unlock() if the > uncontested unlock fails. > - Locks are keyed off of the thr_id_t of the currently running thread which > is currently just the pointer to the 'struct thread' in kernel. > - _umtx_lock() uses the proc pointer to synchronize access to blocked thread > queues which are stored in the first blocked thread. > > Revision Changes Path > 1.1 +303 -0 src/sys/kern/kern_umtx.c (new) > 1.1 +87 -0 src/sys/sys/umtx.h (new) It's great to be getting this. Can you point me to a document indicating how this will be used by KSE? Are we going to have "native threads" (thr), KSE, and pthreads? -Nate