diff options
author | mohans <mohans@FreeBSD.org> | 2006-11-20 04:14:23 +0000 |
---|---|---|
committer | mohans <mohans@FreeBSD.org> | 2006-11-20 04:14:23 +0000 |
commit | 4800f71e236b016c6ef5e788d256b822e8218ced (patch) | |
tree | 22448b979900be4a7abc581a7184beaa4c286b09 /sys/nfsclient/nfs.h | |
parent | e58221ee6f2ded07307d488ff72b3c7048cdffb2 (diff) | |
download | FreeBSD-src-4800f71e236b016c6ef5e788d256b822e8218ced.zip FreeBSD-src-4800f71e236b016c6ef5e788d256b822e8218ced.tar.gz |
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
Diffstat (limited to 'sys/nfsclient/nfs.h')
-rw-r--r-- | sys/nfsclient/nfs.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/nfsclient/nfs.h b/sys/nfsclient/nfs.h index 1bfaf4a..573a0e2 100644 --- a/sys/nfsclient/nfs.h +++ b/sys/nfsclient/nfs.h @@ -193,7 +193,7 @@ extern TAILQ_HEAD(nfs_reqq, nfsreq) nfs_reqq; #define R_TPRINTFMSG 0x20 /* Did a tprintf msg. */ #define R_MUSTRESEND 0x40 /* Must resend request */ #define R_GETONEREP 0x80 /* Probe for one reply only */ -#define R_REXMIT_INPROG 0x100 /* Re-transmit in progress */ +#define R_PIN_REQ 0x100 /* Pin request down (rexmit in prog or other) */ struct buf; struct socket; |