DragonFly commits List (threaded) for 2008-09
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
cvs commit: src/sys/bus/usb usb_ethersubr.c src/sys/net bpf.c if.c netisr.c netisr.h netmsg.h src/sys/net/ppp if_ppp.c src/sys/netbt bt_proto.c src/sys/netgraph/netgraph ng_base.c src/sys/netgraph7 ng_base.c src/sys/netinet if_ether.c ip_demux.c ip_input.c ...
sephe 2008/09/23 04:28:50 PDT
DragonFly src repository
Modified files:
sys/bus/usb usb_ethersubr.c
sys/net bpf.c if.c netisr.c netisr.h netmsg.h
sys/net/ppp if_ppp.c
sys/netbt bt_proto.c
sys/netgraph/netgraph ng_base.c
sys/netgraph7 ng_base.c
sys/netinet if_ether.c ip_demux.c ip_input.c
tcp_subr.c udp_usrreq.c
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/mpls mpls_input.c
sys/netproto/natm natm.c
sys/netproto/ns ns_input.c
sys/sys protosw.h
Log:
Add following three network protocol threads running mode:
1) BGL (default)
2) Adaptive BGL. Protocol threads run without BGL by default. BGL will be
held if the received msg does not have MSGF_MPSAFE turned on the ms_flags
field
3) No BGL (experimental)
The code on the main path is done by dillon@
Following three sysctls and tunables are added to adjust the "mode":
net.netisr.mpsafe_thread
net.inet.tcp.mpsafe_thread
net.inet.udp.mpsafe_thread
They have same set of values,
0 (default) -- BGL
1 -- Adaptive BGL
2 -- No BGL
NETISR_FLAG_MPSAFE is added (netisr.ni_flags), so that:
- netisr_queue() and schednetisr() could set MSGF_MPSAFE during msg
initialization
- netisr_run() (called by ether_input_oncpu()) could hold BGL based on this flag
before calling netisr's handler
PR_MPSAFE is added (protosw.pr_flags), so that tranport_processing_oncpu() could
hold BGL before calling protocol's input handler
Kernel API changes:
- The thread parameter to netmsg_service_loop() must be supplied (running mode)
and it must have the type of "int *"
- netisr_register() takes additional flags parameter to indicate whether its
handler is MPSAFE (NETISR_FLAG_MPSAFE) or not
Reviewed-by: dillon@
Revision Changes Path
1.20 +1 -1 src/sys/bus/usb/usb_ethersubr.c
1.50 +1 -1 src/sys/net/bpf.c
1.80 +3 -2 src/sys/net/if.c
1.46 +91 -18 src/sys/net/netisr.c
1.36 +8 -2 src/sys/net/netisr.h
1.9 +2 -0 src/sys/net/netmsg.h
1.40 +1 -1 src/sys/net/ppp/if_ppp.c
1.5 +1 -1 src/sys/netbt/bt_proto.c
1.27 +1 -1 src/sys/netgraph/netgraph/ng_base.c
1.3 +1 -2 src/sys/netgraph7/ng_base.c
1.50 +1 -1 src/sys/netinet/if_ether.c
1.41 +4 -7 src/sys/netinet/ip_demux.c
1.108 +29 -7 src/sys/netinet/ip_input.c
1.61 +34 -4 src/sys/netinet/tcp_subr.c
1.46 +9 -0 src/sys/netinet/udp_usrreq.c
1.37 +1 -1 src/sys/netinet6/ip6_input.c
1.13 +3 -3 src/sys/netproto/atalk/ddp_usrreq.c
1.22 +1 -1 src/sys/netproto/atm/atm_subr.c
1.19 +1 -1 src/sys/netproto/ipx/ipx_input.c
1.3 +1 -1 src/sys/netproto/mpls/mpls_input.c
1.30 +2 -2 src/sys/netproto/natm/natm.c
1.22 +1 -1 src/sys/netproto/ns/ns_input.c
1.23 +13 -0 src/sys/sys/protosw.h
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/usb_ethersubr.c.diff?r1=1.19&r2=1.20&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/bpf.c.diff?r1=1.49&r2=1.50&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/if.c.diff?r1=1.79&r2=1.80&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.c.diff?r1=1.45&r2=1.46&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.h.diff?r1=1.35&r2=1.36&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/netmsg.h.diff?r1=1.8&r2=1.9&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/ppp/if_ppp.c.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netbt/bt_proto.c.diff?r1=1.4&r2=1.5&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netgraph/netgraph/ng_base.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netgraph7/ng_base.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/if_ether.c.diff?r1=1.49&r2=1.50&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_demux.c.diff?r1=1.40&r2=1.41&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_input.c.diff?r1=1.107&r2=1.108&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_subr.c.diff?r1=1.60&r2=1.61&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/udp_usrreq.c.diff?r1=1.45&r2=1.46&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet6/ip6_input.c.diff?r1=1.36&r2=1.37&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atalk/ddp_usrreq.c.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atm/atm_subr.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/ipx/ipx_input.c.diff?r1=1.18&r2=1.19&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/mpls/mpls_input.c.diff?r1=1.2&r2=1.3&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/natm/natm.c.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/ns/ns_input.c.diff?r1=1.21&r2=1.22&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/protosw.h.diff?r1=1.22&r2=1.23&f=u
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]