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