cvs commit: src/sys/sys msgport.h msgport2.h src/sys/kern kern_poll.c lwkt_msgport.c uipc_msg.c uipc_socket2.c uipc_syscalls.c src/sys/netproto/atalk aarp.c at_extern.h ddp_input.c src/sys/netproto/atm atm_subr.c src/sys/netproto/ipx ...
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed May 23 01:58:18 PDT 2007
dillon 2007/05/23 01:57:10 PDT
DragonFly src repository
Modified files:
sys/sys msgport.h msgport2.h
sys/kern kern_poll.c lwkt_msgport.c uipc_msg.c
uipc_socket2.c uipc_syscalls.c
sys/netproto/atalk aarp.c at_extern.h ddp_input.c
sys/netproto/atm atm_subr.c
sys/netproto/ipx ipx_input.c
sys/netproto/natm natm.c
sys/netproto/ns ns_input.c
sys/netinet if_ether.c ip6.h ip_input.c tcp_subr.c
tcp_syncache.c tcp_usrreq.c
sys/netinet6 ip6_input.c
sys/netgraph/netgraph ng_base.c
sys/net netisr.c netisr.h netmsg.h route.c
sys/net/pf pf.c
sys/net/ppp if_ppp.c
sys/bus/usb usb_ethersubr.c
sys/dev/acpica5/Osd OsdSchedule.c
Added files:
sys/net netmsg2.h
Log:
* Greatly reduce the complexity of the LWKT messaging and port abstraction.
Significantly reduce the overhead of the subsystem.
* The message abort algorithm has been rewritten. It now sends a
separate message to issue the abort instead of trying to requeue
the original message. This also means the TAILQ embedded in the
lwkt_msg structure can be used by unrelated code during processing
of the message.
* Numerous MSGF_ flags have been removed, and all the LWKT msg/port
algorithms have been rewritten and simplified. The message structure
is now only touched by the current owner in all situations.
* Numerous structural fields have been removed. In particular, the
fields used for message abort sequencing have been simplified and
we do not try to embed a 'command' field in the base LWKT message
any more.
* Clean up the netmsg abstraction, which is used all over the network stack.
Instead of trying to overload fields in lwkt_msg we now simply extend
the base lwkt_msg into struct netmsg. The function dispatch now takes
a netmsg and returns void (before we had to return EASYNC), and we no
longer need weird casts.
Accept/connect message aborts are now greatly simplified.
Revision Changes Path
1.24 +32 -55 src/sys/sys/msgport.h
1.13 +8 -47 src/sys/sys/msgport2.h
1.27 +4 -6 src/sys/kern/kern_poll.c
1.40 +173 -394 src/sys/kern/lwkt_msgport.c
1.17 +166 -152 src/sys/kern/uipc_msg.c
1.29 +3 -3 src/sys/kern/uipc_socket2.c
1.81 +17 -16 src/sys/kern/uipc_syscalls.c
1.21 +2 -2 src/sys/netproto/atalk/aarp.c
1.8 +3 -3 src/sys/netproto/atalk/at_extern.h
1.14 +3 -4 src/sys/netproto/atalk/ddp_input.c
1.21 +2 -3 src/sys/netproto/atm/atm_subr.c
1.16 +3 -3 src/sys/netproto/ipx/ipx_input.c
1.27 +3 -3 src/sys/netproto/natm/natm.c
1.20 +3 -3 src/sys/netproto/ns/ns_input.c
1.37 +18 -17 src/sys/netinet/if_ether.c
1.7 +3 -0 src/sys/netinet/ip6.h
1.67 +13 -16 src/sys/netinet/ip_input.c
1.58 +20 -22 src/sys/netinet/tcp_subr.c
1.30 +11 -12 src/sys/netinet/tcp_syncache.c
1.43 +22 -24 src/sys/netinet/tcp_usrreq.c
1.34 +5 -5 src/sys/netinet6/ip6_input.c
1.24 +3 -3 src/sys/netgraph/netgraph/ng_base.c
1.31 +18 -33 src/sys/net/netisr.c
1.26 +38 -35 src/sys/net/netisr.h
1.6 +32 -21 src/sys/net/netmsg.h
1.29 +32 -31 src/sys/net/route.c
1.14 +11 -10 src/sys/net/pf/pf.c
1.35 +1 -2 src/sys/net/ppp/if_ppp.c
1.18 +1 -2 src/sys/bus/usb/usb_ethersubr.c
1.8 +1 -2 src/sys/dev/acpica5/Osd/OsdSchedule.c
http://www.dragonflybsd.org/cvsweb/src/sys/sys/msgport.h.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/msgport2.h.diff?r1=1.12&r2=1.13&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_poll.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_msgport.c.diff?r1=1.39&r2=1.40&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_msg.c.diff?r1=1.16&r2=1.17&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_socket2.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/uipc_syscalls.c.diff?r1=1.80&r2=1.81&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atalk/aarp.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atalk/at_extern.h.diff?r1=1.7&r2=1.8&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atalk/ddp_input.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/atm/atm_subr.c.diff?r1=1.20&r2=1.21&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/ipx/ipx_input.c.diff?r1=1.15&r2=1.16&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/natm/natm.c.diff?r1=1.26&r2=1.27&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netproto/ns/ns_input.c.diff?r1=1.19&r2=1.20&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/if_ether.c.diff?r1=1.36&r2=1.37&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip6.h.diff?r1=1.6&r2=1.7&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/ip_input.c.diff?r1=1.66&r2=1.67&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_subr.c.diff?r1=1.57&r2=1.58&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_syncache.c.diff?r1=1.29&r2=1.30&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_usrreq.c.diff?r1=1.42&r2=1.43&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netinet6/ip6_input.c.diff?r1=1.33&r2=1.34&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/netgraph/netgraph/ng_base.c.diff?r1=1.23&r2=1.24&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.c.diff?r1=1.30&r2=1.31&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/netisr.h.diff?r1=1.25&r2=1.26&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/netmsg.h.diff?r1=1.5&r2=1.6&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/route.c.diff?r1=1.28&r2=1.29&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/pf/pf.c.diff?r1=1.13&r2=1.14&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/net/ppp/if_ppp.c.diff?r1=1.34&r2=1.35&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/bus/usb/usb_ethersubr.c.diff?r1=1.17&r2=1.18&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/dev/acpica5/Osd/OsdSchedule.c.diff?r1=1.7&r2=1.8&f=u
More information about the Commits
mailing list