DragonFly commits List (threaded) for 2009-04
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
DragonFly-2.3.0.811.gb3a709 master sbin/ifconfig ifconfig.c sys/conf files options sys/dev/netif/emx Makefile if_emx.c sys/kern kern_clock.c sys/net if.c if.h if_poll.c if_poll.h if_var.h
commit b3a7093f50ab968ffe0b9d2663cf41b81cc5431f
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date: Sun Apr 26 11:04:18 2009 +0800
Add ifpoll, which support hardware TX/RX queues based polling.
The implementation is mainly based on the polling(4) code.
Difference to the polling(4):
- Instead of registering one polling handler for both TX/RX and status,
drivers could register multiple polling handlers for TX/RX polling
handler on different CPU based on its own needs. And drivers could
register one status check handler, which is always polled on CPU0.
- TX could be polled at lower frequency than RX; normally we don't
need high frequency polling for TX, but for RX, we may need relative
higher polling frequency.
- Better serializer integration.
ifnet changes:
- ifnet.if_qpoll is added, which should be implemented by driver which
supports ifpoll.
- IFF_NPOLLING is added to indicate that the driver is using ifpoll.
ifconfig(8):
- Add 'npolling' and '-npolling'; they are used to turn on/off ifpoll
on the specified interface.
Drivers:
- emx(4) is converted to use the ifpoll. Coexistance of ifpoll and
polling(4) in one driver requires extra effort in driver itself;
drop polling(4) support in emx(4) for now.
IFPOLL_ENABLE kernel option is added, which is not enabled by default.
Summary of changes:
sbin/ifconfig/ifconfig.c | 4 +-
sys/conf/files | 1 +
sys/conf/options | 3 +
sys/dev/netif/emx/Makefile | 6 +-
sys/dev/netif/emx/if_emx.c | 160 +++--
sys/kern/kern_clock.c | 9 +
sys/net/if.c | 13 +
sys/net/if.h | 4 +-
sys/net/if_poll.c | 1465 ++++++++++++++++++++++++++++++++++++++++++++
sys/net/if_poll.h | 34 +
sys/net/if_var.h | 15 +
11 files changed, 1642 insertions(+), 72 deletions(-)
create mode 100644 sys/net/if_poll.c
create mode 100644 sys/net/if_poll.h
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/b3a7093f50ab968ffe0b9d2663cf41b81cc5431f
--
DragonFly BSD source repository
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]