diff options
author | ed <ed@FreeBSD.org> | 2008-07-22 21:27:22 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2008-07-22 21:27:22 +0000 |
commit | 1e4302f67a0633f03c9696f8aa7766fd9e23c79e (patch) | |
tree | 4fe889d36172171178190558d3aff2196e25613c /sys/nfsclient/nfs_vfsops.c | |
parent | dfa80a42e2ec65b03668ded45b03bb01e80460ed (diff) | |
download | FreeBSD-src-1e4302f67a0633f03c9696f8aa7766fd9e23c79e.zip FreeBSD-src-1e4302f67a0633f03c9696f8aa7766fd9e23c79e.tar.gz |
Move the NFS/RPC code away from lbolt.
The kernel has a special wchan called `lbolt', which is triggered each
second. It doesn't seem to be used a lot and it seems pretty redundant,
because we can specify a timeout value to the *sleep() routines. In an
attempt to eventually remove lbolt, make the NFS/RPC code use a timeout
of `hz' when trying to reconnect.
Only the TTY code (not MPSAFE TTY) and the VFS syncer seem to use lbolt
now.
Reviewed by: attilio, jhb
Approved by: philip (mentor), alfred, dfr
Diffstat (limited to 'sys/nfsclient/nfs_vfsops.c')
-rw-r--r-- | sys/nfsclient/nfs_vfsops.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/nfsclient/nfs_vfsops.c b/sys/nfsclient/nfs_vfsops.c index c21b48e..85b8503 100644 --- a/sys/nfsclient/nfs_vfsops.c +++ b/sys/nfsclient/nfs_vfsops.c @@ -117,6 +117,8 @@ static vfs_statfs_t nfs_statfs; static vfs_sync_t nfs_sync; static vfs_sysctl_t nfs_sysctl; +static int fake_wchan; + /* * nfs vfs operations. */ @@ -700,7 +702,7 @@ nfs_decode_args(struct mount *mp, struct nfsmount *nmp, struct nfs_args *argp) if (nmp->nm_sotype == SOCK_DGRAM) while (nfs_connect(nmp, NULL)) { printf("nfs_args: retrying connect\n"); - (void) tsleep((caddr_t)&lbolt, PSOCK, "nfscon", 0); + (void) tsleep(&fake_wchan, PSOCK, "nfscon", hz); } } |