From: Troy Kisky <redacted>
Date: Tue, 5 Apr 2016 19:25:51 -0700
By clearing the NAPI interrupts in the NAPI routine
and not in the interrupt handler, we can reduce the
number of interrupts. We also don't need any status
variables as the registers are still valid.
Also, notice that if budget pkts are received, the
next call to fec_enet_rx_napi will now continue to
receive the previously pending packets.
To test that this actually reduces interrupts, try
this command before/after patch
cat /proc/interrupts |grep ether; \
ping -s2800 192.168.0.201 -f -c1000 ; \
cat /proc/interrupts |grep ether
For me, before this patch is 2996 interrupts.
After patch is 2010 interrupts.
Signed-off-by: Troy Kisky <redacted>
I really don't think this is a good idea at all.
I would instead really rather see you stash away the
status register values into some piece of software state,
and then re-read them before you are about to finish a
NAPI poll cycle.