Date: Tue, 6 Jan 2004 15:03:03 -0500 From: John Baldwin <jhb@FreeBSD.org> To: Don Lewis <truckman@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 Message-ID: <200401061503.03350.jhb@FreeBSD.org> In-Reply-To: <200401061928.i06JSH7E014631@gw.catspoiler.org> References: <200401061928.i06JSH7E014631@gw.catspoiler.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 06 January 2004 02:28 pm, Don Lewis wrote: > 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(). It already exists (mtxpool_spin I believe). The ntoskrnl lock is a regular mutex though, so I'm guessing that a regular mutex is fine. -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401061503.03350.jhb>