From owner-p4-projects@FreeBSD.ORG Tue Dec 9 15:01:25 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 883F616A4D9; Tue, 9 Dec 2003 15:01:25 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1B27A16A4D1 for ; Tue, 9 Dec 2003 15:01:25 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3831743D1F for ; Tue, 9 Dec 2003 15:01:23 -0800 (PST) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id hB9N1NXJ033247 for ; Tue, 9 Dec 2003 15:01:23 -0800 (PST) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id hB9N1MSk033244 for perforce@freebsd.org; Tue, 9 Dec 2003 15:01:22 -0800 (PST) (envelope-from sam@freebsd.org) Date: Tue, 9 Dec 2003 15:01:22 -0800 (PST) Message-Id: <200312092301.hB9N1MSk033244@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 43694 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Dec 2003 23:01:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=43694 Change 43694 by sam@sam_ebb on 2003/12/09 15:00:21 o remove Giant assertions o lock snd sockbuf so we can preserve assertions; not necessary unless we decide to do fine-grained locking of nfs Affected files ... .. //depot/projects/netperf+sockets/sys/nfsclient/bootp_subr.c#3 edit .. //depot/projects/netperf+sockets/sys/nfsclient/krpc_subr.c#3 edit .. //depot/projects/netperf+sockets/sys/nfsclient/nfs_bio.c#3 edit .. //depot/projects/netperf+sockets/sys/nfsclient/nfs_socket.c#3 edit .. //depot/projects/netperf+sockets/sys/nfsclient/nfs_subs.c#3 edit .. //depot/projects/netperf+sockets/sys/nfsclient/nfs_vfsops.c#4 edit Differences ... ==== //depot/projects/netperf+sockets/sys/nfsclient/bootp_subr.c#3 (text+ko) ==== @@ -589,8 +589,6 @@ int retry; const char *s; - GIANT_REQUIRED; /* XXX until socket locking done */ - /* * Create socket and set its recieve timeout. */ @@ -981,8 +979,6 @@ struct ifaddr *ifa; struct sockaddr_dl *sdl; - GIANT_REQUIRED; /* XXX until socket locking done */ - error = socreate(AF_INET, &ifctx->so, SOCK_DGRAM, 0, td->td_ucred, td); if (error != 0) panic("nfs_boot: socreate, error=%d", error); ==== //depot/projects/netperf+sockets/sys/nfsclient/krpc_subr.c#3 (text+ko) ==== @@ -215,8 +215,6 @@ nam = mhead = NULL; from = NULL; - GIANT_REQUIRED; /* XXX until socket locking done */ - /* * Create socket and set its recieve timeout. */ ==== //depot/projects/netperf+sockets/sys/nfsclient/nfs_bio.c#3 (text+ko) ==== ==== //depot/projects/netperf+sockets/sys/nfsclient/nfs_socket.c#3 (text+ko) ==== @@ -165,8 +165,6 @@ struct sockaddr *saddr; struct thread *td = &thread0; /* only used for socreate and sobind */ - GIANT_REQUIRED; /* XXX until socket locking done */ - nmp->nm_so = NULL; saddr = nmp->nm_nam; error = socreate(saddr->sa_family, &nmp->nm_so, nmp->nm_sotype, @@ -383,8 +381,6 @@ { struct socket *so; - GIANT_REQUIRED; /* XXX until socket locking done */ - if (nmp->nm_so) { so = nmp->nm_so; nmp->nm_so = NULL; @@ -419,8 +415,6 @@ struct sockaddr *sendnam; int error, soflags, flags; - GIANT_REQUIRED; /* XXX until socket locking done */ - KASSERT(rep, ("nfs_send: called with rep == NULL")); if (rep->r_flags & R_SOFTTERM) { @@ -494,8 +488,6 @@ int error, sotype, rcvflg; struct thread *td = curthread; /* XXX */ - GIANT_REQUIRED; /* XXX until socket locking done */ - /* * Set up arguments for soreceive() */ @@ -1139,6 +1131,7 @@ * Set r_rtt to -1 in case we fail to send it now. */ rep->r_rtt = -1; + SOCKBUF_LOCK(&so->so_snd); if (sbspace(&so->so_snd) >= rep->r_mreq->m_pkthdr.len && ((nmp->nm_flag & NFSMNT_DUMBTIMR) || (rep->r_flags & R_SENT) || @@ -1174,6 +1167,7 @@ rep->r_rtt = 0; } } + SOCKBUF_UNLOCK(&so->so_snd); } splx(s); nfs_timer_handle = timeout(nfs_timer, NULL, nfs_ticks); ==== //depot/projects/netperf+sockets/sys/nfsclient/nfs_subs.c#3 (text+ko) ==== ==== //depot/projects/netperf+sockets/sys/nfsclient/nfs_vfsops.c#4 (text+ko) ==== @@ -387,8 +387,6 @@ u_long l; char buf[128]; - GIANT_REQUIRED; /* XXX until socket locking done */ - #if defined(BOOTP_NFSROOT) && defined(BOOTP) bootpc_init(); /* use bootp to get nfs_diskless filled in */ #elif defined(NFS_ROOT)