igb(4) OACTIVE logic handling

Sean Bruno seanbru at yahoo-inc.com
Fri Dec 17 17:38:11 UTC 2010


We're seeing igb(4) hit the OACTIVE handling parts of igb_start_locked()
on 7 with hw.igb.rxd/txd set to 4096 periodically and seeing the
machines fall off the network soon after.  The logic to handle the unset
of OACTIVE in igb_txeof() doesn't ever seem to fire and the machine is
only accessible on the serial console.

I've played around with a few settings, namely:
hw.igb.enable_aim=0
hw.igb.enable_msix=1
hw.igb.num_queues=1

Which seem to make it better, but we still see the machines become
unresponsive. I've been slowly auditing the (ab)use of igb_txeof()
throughout the transmit path and I'm seeing evidence that we're not
handling the THRESHOLD cases correctly.

Can someone who is slightly more savvy than I throw an eyeball on the
7.4 prerelease code and see if I'm smoking dope here?

Sean

P.S.  this is not a new problem, but one that I've only recently become
aware of.



More information about the freebsd-net mailing list