Interrupt Throttling
I'm trying to achieve higher UDP bandwidth on a 10G ehternet. On running some performance tests, I noticed some strange behavior on interrups handling.
Bandwidth Interrupts/sec datagrams/sec
6000Mbits 72636 83333
7000Mbits 80356 99992
8000Mbits 66900 111107
9000Mbits 78981 124968
As we see from numbers above, the interrupts/sec starts falling at higher bandwidth. All the interrupts are handled by a single CPU, and the performance measurement application running on a sister core. The CPU is about 25-35% idle during tests. There is no coalescing configured on NIC cards or at the system level. Is there a automatic coalescing applied by the system?
I also tried changing the rx-usecs params to 500, 1000usecs using ethtool. Unfortunately, I didn't find any difference in interrupt handling above 8000Mbits/sec. Number of interrupts stayed same at around 79000 intr/secs. Is there a global parameter which controls the interrupt throttling?
Using linux version 2.6.18-164
Thanks-
|