tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: bnx_tick and the kernel lock



On Tue, Apr 17, 2012 at 04:00:05PM -0400, Greg Troxel wrote:
> 
> I have some systems where the bnx driver seems to lose mbuf clusters
> under heavy load.
> 
> Looking at the code, I see bnx_tick called by a callout, and it does
> splnet but does not seem to take the KERNEL_LOCK.  It seems like the
> rule for the rest of the driver is to be at splnet and have the kernel
> lock, so this seems wrong.
> 
> Are callouts automatically invoked with the big lock?  It seems like
> they aren't (and shouldn't be) since they can be used in mpsafe code.

They are called with the big lock, for thoses which have been initialized
with CALLOUT_MPSAFE (which AFAIK bnx(4) does not).

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index