Bring in the netmp work
authorAggelos Economopoulos <aoiko@cc.ece.ntua.gr>
Sun, 28 Dec 2008 20:55:22 +0000 (22:55 +0200)
committerAggelos Economopoulos <aoiko@cc.ece.ntua.gr>
Sun, 28 Dec 2008 20:55:22 +0000 (22:55 +0200)
commit288428b0825ab35af4ed30572ae81f53dd9436d7
tree15017dd4b8c1ec8ce3cd2a6bb1764ddc33f04aec
parent223cfc2f666813bad311f94ad710c2fb9c02c2a1
Bring in the netmp work

... in one huge patch, sorry. These changes mostly aim to remove
the requirement for the BGL in the socket code.

Highlights:
- new semi-lockless sockbuf using cupholders
- avoid lost wakeup races by blocking waiting for a reply by
  the protocol threads

This code lived in the dragonfly/netmp.git git repository at
repo.or.cz (which is where you should look for the development
history); we'll be doing further development in the main repository.
106 files changed:
sys/bus/usb/usb_ethersubr.c
sys/dev/netif/iwl/if_iwl.c
sys/kern/kern_poll.c
sys/kern/sys_socket.c
sys/kern/syscalls.master
sys/kern/uipc_mbuf.c
sys/kern/uipc_msg.c
sys/kern/uipc_proto.c
sys/kern/uipc_sockbuf.c
sys/kern/uipc_socket.c
sys/kern/uipc_socket2.c
sys/kern/uipc_syscalls.c
sys/kern/uipc_usrreq.c
sys/net/accf_data/accf_data.c
sys/net/accf_http/accf_http.c
sys/net/bridge/if_bridge.c
sys/net/dummynet/ip_dummynet.c
sys/net/dummynet/ip_dummynet_glue.c
sys/net/if.c
sys/net/if_ethersubr.c
sys/net/ip_mroute/ip_mroute.c
sys/net/ipfw/ip_fw2.c
sys/net/ipfw/ip_fw2_glue.c
sys/net/netisr.c
sys/net/netisr.h
sys/net/netmsg.h
sys/net/pf/pf.c
sys/net/ppp/if_ppp.c
sys/net/raw_usrreq.c
sys/net/route.c
sys/net/rtsock.c
sys/net/vlan/if_vlan.c
sys/net/vlan/if_vlan_ether.c
sys/net/vlan/if_vlan_ether.h
sys/netbt/bluetooth.h
sys/netbt/bt_input.c
sys/netbt/bt_proto.c
sys/netbt/hci.h
sys/netbt/hci_socket.c
sys/netbt/l2cap_socket.c
sys/netbt/rfcomm_socket.c
sys/netbt/sco_socket.c
sys/netgraph/ksocket/ng_ksocket.c
sys/netgraph/netgraph/ng_base.c
sys/netgraph/socket/ng_socket.c
sys/netgraph7/bluetooth/socket/ng_btsocket_rfcomm.c
sys/netinet/if_ether.c
sys/netinet/in.c
sys/netinet/in_pcb.c
sys/netinet/in_pcb.h
sys/netinet/in_proto.c
sys/netinet/ip_divert.c
sys/netinet/ip_flow.c
sys/netinet/ip_input.c
sys/netinet/raw_ip.c
sys/netinet/sctp_input.c
sys/netinet/sctp_peeloff.c
sys/netinet/sctp_usrreq.c
sys/netinet/tcp_input.c
sys/netinet/tcp_output.c
sys/netinet/tcp_sack.c
sys/netinet/tcp_subr.c
sys/netinet/tcp_syncache.c
sys/netinet/tcp_usrreq.c
sys/netinet/tcp_var.h
sys/netinet/udp_usrreq.c
sys/netinet6/icmp6.c
sys/netinet6/in6_pcb.c
sys/netinet6/in6_proto.c
sys/netinet6/ip6_input.c
sys/netinet6/ip6_mroute.c
sys/netinet6/raw_ip6.c
sys/netinet6/sctp6_usrreq.c
sys/netinet6/udp6_usrreq.c
sys/netproto/atalk/at_proto.c
sys/netproto/atalk/ddp_input.c
sys/netproto/atalk/ddp_usrreq.c
sys/netproto/atm/atm_aal5.c
sys/netproto/atm/atm_proto.c
sys/netproto/atm/atm_usrreq.c
sys/netproto/ipsec/keysock.c
sys/netproto/ipx/ipx_usrreq.c
sys/netproto/ipx/spx_usrreq.c
sys/netproto/key/keysock.c
sys/netproto/natm/natm.c
sys/netproto/natm/natm_proto.c
sys/netproto/ncp/ncp_ncp.c
sys/netproto/ncp/ncp_sock.c
sys/netproto/ns/idp_usrreq.c
sys/netproto/ns/ns_proto.c
sys/netproto/ns/spp_usrreq.c
sys/netproto/smb/smb_trantcp.c
sys/sys/domain.h
sys/sys/mbuf.h
sys/sys/protosw.h
sys/sys/sockbuf.h
sys/sys/socket.h
sys/sys/socketops.h
sys/sys/socketvar.h
sys/sys/socketvar2.h
sys/sys/un.h
sys/vfs/fifofs/fifo_vnops.c
sys/vfs/nfs/krpc_subr.c
sys/vfs/nfs/nfs.h
sys/vfs/nfs/nfs_socket.c
sys/vfs/portal/portal_vnops.c