I CCd the maintainers list, which since you are talking about the out of
tree driver (I think) is probably more appropriate for future postings.
On Wed, 9 Sep 2009, Michal Soltys wrote:
Tx[Abs]IntDelay is not meant to work when MSI-X mode is enabled. The only
interrupt throttling you should need is the InterruptThrottleRate (btw you
can use ethtool -C ethX rx-usecs <usecs between interrupts> to modify this
on the fly.)
It is, because in the case of MSI-X we don't have to check the ICR
register, which avoids a huge amount of CPU stall to read the single
register. It is the main reason for using MSI-X and MSI (in our case we
still have to read ICR in the case of MSI on some hardware - hardware bug)
what it comes down to is that the TxAbsIntDelay and TxIntDelay registers
were introduced in the time before InterruptThrottleRate, back in the day
where we only had PCI and PCI-X adapters. Later PCI/PCI-X/PCIe adapters
have the hardware to support the InterruptThrottleRate.
These module parameters equate directly to registers in our NIC
TADV = TxAbsIntDelay
TIDV = TxIntDelay
ITR = InterruptThrottleRate
The 82574L datasheet[1] mentions that in MSI-X mode the IDE (interrupt
delay enable) bit should *NOT* be set, and the TADV and TIDV registers do
nothing when the IDE bit is not set, so that pretty well explains what you
see. Because the ITR register uses a different mechanism to coalese
interrupts, it will still apply even without IDE enabled.
[1] http://download.intel.com/design/network/datashts/82574.pdf
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html