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