diff options
author | ps <ps@FreeBSD.org> | 2004-12-06 21:11:15 +0000 |
---|---|---|
committer | ps <ps@FreeBSD.org> | 2004-12-06 21:11:15 +0000 |
commit | eeccf3813d92c16c33f1985fb7edf26c7c20c808 (patch) | |
tree | 83e874ad8aa3b9b3120558628b84b3010046974d /sys/nfsclient/nfs_subs.c | |
parent | 2b5157cd0d38228760370d2fcb197f915ce3b93d (diff) | |
download | FreeBSD-src-eeccf3813d92c16c33f1985fb7edf26c7c20c808.zip FreeBSD-src-eeccf3813d92c16c33f1985fb7edf26c7c20c808.tar.gz |
Rewrite of the NFS client's reply handling. We now have NFS socket
upcalls which do RPC header parsing and match up the reply with the
request. NFS calls now sleep on the nfsreq structure. This enables
us to eliminate the NFS recvlock.
Submitted by: Mohan Srinivasan mohans at yahoo-inc dot com
Diffstat (limited to 'sys/nfsclient/nfs_subs.c')
-rw-r--r-- | sys/nfsclient/nfs_subs.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/nfsclient/nfs_subs.c b/sys/nfsclient/nfs_subs.c index 8668a99..9552f95 100644 --- a/sys/nfsclient/nfs_subs.c +++ b/sys/nfsclient/nfs_subs.c @@ -94,6 +94,8 @@ int nfs_ticks; int nfs_pbuf_freecnt = -1; /* start out unlimited */ struct nfs_reqq nfs_reqq; +struct mtx nfs_reqq_mtx; +struct mtx nfs_reply_mtx; struct nfs_bufq nfs_bufq; /* @@ -412,6 +414,8 @@ nfs_init(struct vfsconf *vfsp) */ TAILQ_INIT(&nfs_reqq); callout_init(&nfs_callout, 0); + mtx_init(&nfs_reqq_mtx, "NFS reqq lock", NULL, MTX_DEF); + mtx_init(&nfs_reply_mtx, "Synch NFS reply posting", NULL, MTX_DEF); nfs_pbuf_freecnt = nswbuf / 2 + 1; |