From owner-cvs-all@FreeBSD.ORG Tue Jan 6 11:28:32 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F1FD816A4CE; Tue, 6 Jan 2004 11:28:31 -0800 (PST) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id BAA8143D2F; Tue, 6 Jan 2004 11:28:27 -0800 (PST) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (mousie.catspoiler.org [192.168.101.2]) by gw.catspoiler.org (8.12.9p2/8.12.9) with ESMTP id i06JSH7E014631; Tue, 6 Jan 2004 11:28:21 -0800 (PST) (envelope-from truckman@FreeBSD.org) Message-Id: <200401061928.i06JSH7E014631@gw.catspoiler.org> Date: Tue, 6 Jan 2004 11:28:16 -0800 (PST) From: Don Lewis To: jhb@FreeBSD.org In-Reply-To: MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii cc: wpaul@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org cc: cvs-src@FreeBSD.org Subject: Re: cvs commit: src/sys/compat/ndis kern_ndis.c ndis_var.h pe_var.h subr_ndis.c subr_ntoskrnl.c subr_pe.c src/sys/dev/if_ndis if_ndis.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jan 2004 19:28:32 -0000 On 6 Jan, John Baldwin wrote: > > On 06-Jan-2004 Bill Paul wrote: >> wpaul 2004/01/05 23:09:26 PST >> >> FreeBSD src repository >> >> Modified files: >> sys/compat/ndis kern_ndis.c ndis_var.h pe_var.h >> subr_ndis.c subr_ntoskrnl.c subr_pe.c >> sys/dev/if_ndis if_ndis.c >> Log: >> - Change the implementation of KeInitializeSpinLock(). There is >> no complementary KeFreeSpinLock() function, so creating a new >> mutex on each call to KeInitializeSpinLock() leaks resources >> when a driver is unloaded. For now, KeInitializeSpinLock() >> returns a handle to the ntoskrnl interlock mutex. > > You could perhaps use a pool mutex if it helps lessen contention. Maybe > something like: > > *lock = (kspin_lock)mtx_pool_alloc(&mtxpool_sleep); If these really need to be spin locks, a spin lock pool would need to be created with mtx_pool_create().