cvs commit: src/sys/conf files src/sys/kern kern_poll.c src/sys/net netisr.c netisr.h src/sys/sys msgport.h src/sys/bus/usb usb_ethersubr.c src/sys/net/ppp if_ppp.c src/sys/netgraph/netgraph ng_base.c src/sys/netinet ip_demux.c ...
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Nov 7 23:58:30 PST 2003
dillon 2003/11/07 23:57:52 PST
DragonFly src repository
Modified files:
sys/conf files
sys/kern kern_poll.c
sys/net netisr.c netisr.h
sys/sys msgport.h
sys/bus/usb usb_ethersubr.c
sys/net/ppp if_ppp.c
sys/netgraph/netgraph ng_base.c
sys/netinet if_ether.c ip_input.c ip_var.h tcp_subr.c
tcp_var.h udp_usrreq.c udp_var.h
sys/netinet6 ip6_input.c
sys/netproto/atalk ddp_usrreq.c
sys/netproto/atm atm_subr.c
sys/netproto/ipx ipx_input.c
sys/netproto/natm natm.c
sys/netproto/ns ns_input.c
Added files:
sys/netinet ip_demux.c
Log:
Network threading stage 1/3: netisrs are already software interrupts,
which means they alraedy run in their own thread. This commit creates
multiple supporting threads for netisrs rather then just one and code
has been added to begin routing packets to particular threads based on
their content. Eventually this will lead to us being able to isolate and
serialize PCBs in particular threads. The tail end of the ip_input path's
protocol dispatch, the UIPC (user entry) code, and listen socket have not
been covered yet and still need to be serialized.
A new debugging sysctl, net.inet.ip.mthread_enable, has been added. It
defaults to 1. If you set this sysctl 0 netisr processing will revert to
the prior single-threaded behavior.
Submitted-by: Jeffrey Hsu <hsu at xxxxxxxxxxx>
Additional-work-by: dillon
Revision Changes Path
1.26 +1 -0 src/sys/conf/files
1.6 +8 -7 src/sys/kern/kern_poll.c
1.3 +90 -82 src/sys/net/netisr.c
1.6 +13 -22 src/sys/net/netisr.h
1.8 +1 -0 src/sys/sys/msgport.h
1.5 +3 -13 src/sys/bus/usb/usb_ethersubr.c
1.10 +1 -1 src/sys/net/ppp/if_ppp.c
1.9 +2 -1 src/sys/netgraph/netgraph/ng_base.c
1.8 +1 -2 src/sys/netinet/if_ether.c
1.8 +7 -3 src/sys/netinet/ip_input.c
1.4 +3 -0 src/sys/netinet/ip_var.h
1.9 +2 -2 src/sys/netinet/tcp_subr.c
1.9 +3 -1 src/sys/netinet/tcp_var.h
1.8 +1 -0 src/sys/netinet/udp_usrreq.c
1.4 +6 -0 src/sys/netinet/udp_var.h
1.10 +1 -6 src/sys/netinet6/ip6_input.c
1.6 +3 -8 src/sys/netproto/atalk/ddp_usrreq.c
1.8 +1 -1 src/sys/netproto/atm/atm_subr.c
1.6 +1 -4 src/sys/netproto/ipx/ipx_input.c
1.7 +2 -8 src/sys/netproto/natm/natm.c
1.8 +1 -7 src/sys/netproto/ns/ns_input.c
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.diff?r1=1.25&r2=1.26&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_poll.c.diff?r1=1.5&r2=1.6&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.c.diff?r1=1.2&r2=1.3&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.h.diff?r1=1.5&r2=1.6&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/msgport.h.diff?r1=1.7&r2=1.8&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/usb_ethersubr.c.diff?r1=1.4&r2=1.5&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/net/ppp/if_ppp.c.diff?r1=1.9&r2=1.10&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netgraph/netgraph/ng_base.c.diff?r1=1.8&r2=1.9&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/if_ether.c.diff?r1=1.7&r2=1.8&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_input.c.diff?r1=1.7&r2=1.8&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_var.h.diff?r1=1.3&r2=1.4&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_subr.c.diff?r1=1.8&r2=1.9&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_var.h.diff?r1=1.8&r2=1.9&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/udp_usrreq.c.diff?r1=1.7&r2=1.8&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/udp_var.h.diff?r1=1.3&r2=1.4&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netinet6/ip6_input.c.diff?r1=1.9&r2=1.10&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atalk/ddp_usrreq.c.diff?r1=1.5&r2=1.6&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atm/atm_subr.c.diff?r1=1.7&r2=1.8&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/ipx/ipx_input.c.diff?r1=1.5&r2=1.6&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/natm/natm.c.diff?r1=1.6&r2=1.7&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/ns/ns_input.c.diff?r1=1.7&r2=1.8&f=h
More information about the Commits
mailing list