[eepro100] Re: Packets per Interrupt ..
Andrey Savochkin
saw@saw.sw.com.sg
Mon, 16 Oct 2000 19:38:01 +0800
Hello,
On Mon, Oct 02, 2000 at 12:20:01AM +0200, Henner Zeller wrote:
> I recently got the chance to test a Harware traffic generator which can
> generate Ethernet frames at arbitrary rates and sizes. I ran a test with
> the smallest possible Ethernet frame (64Byte) at 100% 100MBit rate - and
> the linux machine attached to the other end (Kernel 2.2.17, eepro100
> as module) seemed to receive most of the packets (what ifconfig reports),
> but is completely locked during the traffic generation with obviously
> 100% system load.
>
> The reason for this seems to be the number of interrupts generated: In
> this case, the EthernetPro generates one interrupt per two packets
> (compare /proc/interrupts before, after) which translates into > 70000
> Interrupts per second (sending packets as described above means about
> 148000 frames per second).
> Surly noting a PC-architecture can handle easily (not even with Linux ;-).
>
> Playing around with some module parameters does not seem to influence the
> number of interrupts generated (congenb ?). Is there any way in the
> eepro100 driver to do this currently (it must be possible somehow, since
> on legacy 'opeating systems' (NT ..) this does not seem to harm the
> system performance .. cough, cough).
You need so called hardware interrupt mitigation.
Intel's driver for Linux claims that it supports interrupt mitigation, and it
really plays with the card registers to do something in this area.
You may give it a try.
Best regards
Andrey V.
Savochkin