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
John Baldwin
jhb at FreeBSD.org
Tue Jan 6 12:34:49 PST 2004
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 at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the cvs-all
mailing list