diff options
author | Rafael Vanoni <rafael.vanoni@sun.com> | 2009-11-13 01:32:32 -0800 |
---|---|---|
committer | Rafael Vanoni <rafael.vanoni@sun.com> | 2009-11-13 01:32:32 -0800 |
commit | d3d50737e566cade9a08d73d2af95105ac7cd960 (patch) | |
tree | 399b76a3f6bf107e2ff506d8f9c3333654b29fc7 /usr/src/uts/common/fs/nfs/nfs_client.c | |
parent | 1eff5f7761619411b3c31280fcd96cefc32968b7 (diff) | |
download | illumos-gate-d3d50737e566cade9a08d73d2af95105ac7cd960.tar.gz |
PSARC/2009/396 Tickless Kernel Architecture / lbolt decoupling
6860030 tickless clock requires a clock() decoupled lbolt / lbolt64
Portions contributed by Chad Mynhier <cmynhier@gmail.com>
Diffstat (limited to 'usr/src/uts/common/fs/nfs/nfs_client.c')
-rw-r--r-- | usr/src/uts/common/fs/nfs/nfs_client.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/usr/src/uts/common/fs/nfs/nfs_client.c b/usr/src/uts/common/fs/nfs/nfs_client.c index 3c5d02fad9..a32d730ea7 100644 --- a/usr/src/uts/common/fs/nfs/nfs_client.c +++ b/usr/src/uts/common/fs/nfs/nfs_client.c @@ -2050,8 +2050,9 @@ nfs_async_start(struct vfs *vfsp) zthread_exit(); /* NOTREACHED */ } - time_left = cv_timedwait(&mi->mi_async_work_cv, - &mi->mi_async_lock, nfs_async_timeout + lbolt); + time_left = cv_reltimedwait(&mi->mi_async_work_cv, + &mi->mi_async_lock, nfs_async_timeout, + TR_CLOCK_TICK); CALLB_CPR_SAFE_END(&cprinfo, &mi->mi_async_lock); @@ -2554,6 +2555,7 @@ void nfs_write_error(vnode_t *vp, int error, cred_t *cr) { mntinfo_t *mi; + clock_t now; mi = VTOMI(vp); /* @@ -2567,8 +2569,9 @@ nfs_write_error(vnode_t *vp, int error, cred_t *cr) * No use in flooding the console with ENOSPC * messages from the same file system. */ + now = ddi_get_lbolt(); if ((error != ENOSPC && error != EDQUOT) || - lbolt - mi->mi_printftime > 0) { + now - mi->mi_printftime > 0) { zoneid_t zoneid = mi->mi_zone->zone_id; #ifdef DEBUG @@ -2588,7 +2591,7 @@ nfs_write_error(vnode_t *vp, int error, cred_t *cr) MSG("^User: userid=%d, groupid=%d\n"), crgetuid(CRED()), crgetgid(CRED())); } - mi->mi_printftime = lbolt + + mi->mi_printftime = now + nfs_write_error_interval * hz; } nfs_printfhandle(&VTOR(vp)->r_fh); |