Date: Mon, 20 Nov 2006 04:14:23 +0000 (UTC) From: Mohan Srinivasan <mohans@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/nfsclient nfs.h nfs_socket.c Message-ID: <200611200414.kAK4EN1T032693@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
mohans 2006-11-20 04:14:23 UTC
FreeBSD src repository
Modified files:
sys/nfsclient nfs.h nfs_socket.c
Log:
1) Fix up locking in nfs_up() and nfs_down.
2) Reduce the acquisitions of the Giant lock in the nfs_socket.c paths significantly.
- We don't need to acquire Giant before tsleeping on lbolt anymore,
since jhb specialcased lbolt handling in msleep.
- nfs_up() needs to acquire Giant only if printing the "server up"
message.
- nfs_timer() held Giant for the duration of the NFS timer processing,
just because the printing of the message in nfs_down() needed it
(and we acquire other locks in nfs_timer()). The acquisition of
Giant is moved down into nfs_down() now, reducing the time Giant is
held in that path.
Reported by: Kris Kennaway
Revision Changes Path
1.97 +1 -1 src/sys/nfsclient/nfs.h
1.146 +39 -30 src/sys/nfsclient/nfs_socket.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611200414.kAK4EN1T032693>
