Skip site navigation (1)Skip section navigation (2)
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>