cvs commit: src/sys/nfsclient nfs.h nfs_socket.c
Mohan Srinivasan
mohans at FreeBSD.org
Mon Nov 20 04:14:24 UTC 2006
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
More information about the cvs-src
mailing list