]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Rearrange interrupt handler a bit and remove forever loop.
authoryongari <yongari@FreeBSD.org>
Sat, 19 Feb 2011 01:37:28 +0000 (01:37 +0000)
committeryongari <yongari@FreeBSD.org>
Sat, 19 Feb 2011 01:37:28 +0000 (01:37 +0000)
commit86ddfa132ffe86ade789d5a9efd60033845fd8a4
tree832328c2f1f00b54d7b7d1149aefb10210d20f55
parent7d573030437bc17da394ad067c98bcfa229f7dfb
Rearrange interrupt handler a bit and remove forever loop.
Previously dc(4) always checked whether there is pending interrupts
and this consumed a lot of CPU cycles in interrupt handler. Limit
the number of processing for TX/RX frames to 16. Also allow sending
frames in the loop not to starve TX under high RX load.
Reading DC_ISR register should be protected with driver lock,
otherwise interrupt handler could be run(e.g. link state change)
before the completion of dc_init_locked().

While I'm here remove unneeded code.
sys/dev/dc/if_dc.c