Introduce ETHER_INPUT_CHAIN option:
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Fri, 2 May 2008 07:40:32 +0000 (07:40 +0000)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Fri, 2 May 2008 07:40:32 +0000 (07:40 +0000)
commit68b67450f731d003f185858a55a9c3fdb53f2de4
tree9bf0879a94fb320e40d51f22a61089fa439ab400
parent869e8f55a5d58ec79d7710a5cd212e2813282f62
Introduce ETHER_INPUT_CHAIN option:
1) During RXEOF, we aggregate packets, which have same target CPU, instead of
   calling lwkt_sendmsg() for each input packet.
2) At the end of RXEOF, low level ipiq sending is used to dispatch mbuf chain
   to the target CPU.
3) On the target CPU, the ipi function puts mbuf to their belonging msgport.
   Note, though lwkt_sendmsg() is used in ipi function, no further ipi activity
   will happen, since we are on target CPU.

em(4) is made to aware of this option.
This option is off by default and has no effect on vlan(4) operation.
sys/conf/options
sys/config/LINT
sys/dev/netif/em/Makefile
sys/dev/netif/em/if_em.c
sys/net/if_ethersubr.c
sys/net/if_var.h
sys/net/netisr.c
sys/net/netisr.h
sys/sys/mbuf.h