git: mxge: Add polling(4) support
sephe at crater.dragonflybsd.org
Tue Nov 5 06:03:54 PST 2013
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Tue Nov 5 18:16:52 2013 +0800
mxge: Add polling(4) support
The polling(4) support for mxge(4) is actually "hybrid":
- Polling TX and status does not work, so TX and status are still handled
- There is no way to disable RX interrupt explicitly; we will have to
depend on RX interrupt: if RX interrupt comes, RX interrupt will be
disabled by hardware and we don't enable it in interrupt handler. And
we don't process RX in RX interrupt.
- During RX polling, if there is no more packets ready, RX interrupt will
have to be enabled again, else upcoming packets may suffer large delay.
Due to the "hybrid" nature of polling(4) support, RX polling is handled
on the same CPU which handles RX interrupt.
Summary of changes:
sys/dev/netif/mxge/Makefile | 10 +++-
sys/dev/netif/mxge/if_mxge.c | 109 +++++++++++++++++++++++++++++++++++++------
2 files changed, 104 insertions(+), 15 deletions(-)
DragonFly BSD source repository
More information about the Commits