Date: Tue, 9 Dec 2003 15:01:22 -0800 (PST) From: Sam Leffler <sam@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 43694 for review Message-ID: <200312092301.hB9N1MSk033244@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200312092301.hB9N1MSk033244>