if_sk patch to get more info from people with problems

Daniel O'Connor doconnor at gsoft.com.au
Tue Nov 2 18:34:45 PST 2004


On Wed, 3 Nov 2004 05:38, John-Mark Gurney wrote:
> Peter Edwards wrote this message on Tue, Nov 02, 2004 at 17:56 +0000:
> > A (very) quick look at the source reveals that buffers are allocated
> > via  sk_rxeof()->sk_newbuf()->sk_jalloc() in the interrupt receive
> > function, with the softc lock held in sk_rxeof().
> >
> > They're freed by the mbuf system via a call to sk_jfree(), but that
> > doesn't hold the SK_LOCK. Is this possibly the source of the
> > corruption problems? What am I missing?
> > This compiles, anyway :-)
>
> Well, try the attached patch (it also includes my changes from a previous
> diff) that will see what happens...  Make sure you have your kernel
> compiled with WITNESS and INVARIANTS...  If you hit one of these
> asserts, make sure you post the back trace...

I didn't see the previous patch, but I applied it from this one to 4.x and it 
seems to be behaving itself now.

I'll keep testing it, but previously it would lock up pretty quickly :)

-- 
Daniel O'Connor software and network engineer
for Genesis Software - http://www.gsoft.com.au
"The nice thing about standards is that there
are so many of them to choose from."
  -- Andrew Tanenbaum
GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20041103/182bccad/attachment-0001.bin


More information about the freebsd-current mailing list