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 10:12:22PM +0200, Manuel Bouyer wrote:
> 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).

"Those which have *not* been initialized with..." I think you mean?

Thor


Home | Main Index | Thread Index | Old Index