From owner-cvs-src@FreeBSD.ORG Thu Apr 17 21:38:18 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 62623106566C; Thu, 17 Apr 2008 21:38:18 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 4B2068FC45; Thu, 17 Apr 2008 21:38:18 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m3HLcIwI007494; Thu, 17 Apr 2008 21:38:18 GMT (envelope-from rwatson@repoman.freebsd.org) Received: (from rwatson@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m3HLcIr4007493; Thu, 17 Apr 2008 21:38:18 GMT (envelope-from rwatson) Message-Id: <200804172138.m3HLcIr4007493@repoman.freebsd.org> From: Robert Watson Date: Thu, 17 Apr 2008 21:38:18 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/contrib/pf/net pf.c src/sys/dev/cxgb/ulp/tom cxgb_cpl_socket.c src/sys/kern subr_witness.c src/sys/netinet in_mcast.c in_pcb.c in_pcb.h ip_divert.c ip_fw2.c ip_options.c ip_output.c raw_ip.c tcp_input.c tcp_output.c tcp_reass.c ... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Apr 2008 21:38:18 -0000 rwatson 2008-04-17 21:38:18 UTC FreeBSD src repository Modified files: sys/contrib/pf/net pf.c sys/dev/cxgb/ulp/tom cxgb_cpl_socket.c sys/kern subr_witness.c sys/netinet in_mcast.c in_pcb.c in_pcb.h ip_divert.c ip_fw2.c ip_options.c ip_output.c raw_ip.c tcp_input.c tcp_output.c tcp_reass.c tcp_sack.c tcp_subr.c tcp_syncache.c tcp_timer.c tcp_timewait.c tcp_usrreq.c udp_usrreq.c sys/netinet6 icmp6.c in6_pcb.c in6_src.c raw_ip6.c udp6_usrreq.c sys/security/audit audit_arg.c sys/security/mac mac_inet.c Log: Convert pcbinfo and inpcb mutexes to rwlocks, and modify macros to explicitly select write locking for all use of the inpcb mutex. Update some pcbinfo lock assertions to assert locked rather than write-locked, although in practice almost all uses of the pcbinfo rwlock main exclusive, and all instances of inpcb lock acquisition are exclusive. This change should introduce (ideally) little functional change. However, it lays the groundwork for significantly increased parallelism in the TCP/IP code. MFC after: 3 months Tested by: kris (superset of committered patch) Revision Changes Path 1.52 +4 -4 src/sys/contrib/pf/net/pf.c 1.8 +2 -2 src/sys/dev/cxgb/ulp/tom/cxgb_cpl_socket.c 1.247 +5 -5 src/sys/kern/subr_witness.c 1.4 +28 -28 src/sys/netinet/in_mcast.c 1.204 +40 -31 src/sys/netinet/in_pcb.c 1.105 +27 -17 src/sys/netinet/in_pcb.h 1.132 +17 -17 src/sys/netinet/ip_divert.c 1.184 +3 -3 src/sys/netinet/ip_fw2.c 1.9 +1 -1 src/sys/netinet/ip_options.c 1.281 +7 -7 src/sys/netinet/ip_output.c 1.182 +31 -31 src/sys/netinet/raw_ip.c 1.375 +20 -20 src/sys/netinet/tcp_input.c 1.150 +1 -1 src/sys/netinet/tcp_output.c 1.354 +1 -1 src/sys/netinet/tcp_reass.c 1.41 +8 -8 src/sys/netinet/tcp_sack.c 1.305 +29 -29 src/sys/netinet/tcp_subr.c 1.142 +6 -6 src/sys/netinet/tcp_syncache.c 1.100 +16 -16 src/sys/netinet/tcp_timer.c 1.289 +14 -14 src/sys/netinet/tcp_timewait.c 1.168 +68 -68 src/sys/netinet/tcp_usrreq.c 1.220 +36 -34 src/sys/netinet/udp_usrreq.c 1.83 +4 -4 src/sys/netinet6/icmp6.c 1.89 +18 -18 src/sys/netinet6/in6_pcb.c 1.51 +1 -1 src/sys/netinet6/in6_src.c 1.77 +17 -17 src/sys/netinet6/raw_ip6.c 1.86 +25 -25 src/sys/netinet6/udp6_usrreq.c 1.20 +2 -2 src/sys/security/audit/audit_arg.c 1.17 +3 -3 src/sys/security/mac/mac_inet.c