summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_tc.c
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-06-28 03:56:17 +0000
committerhselasky <hselasky@FreeBSD.org>2014-06-28 03:56:17 +0000
commit35b126e324b8032aebea9ab6b4daf7c0bf8daed0 (patch)
tree2ebc46d89e79d747fa284f379b1979658216c719 /sys/kern/kern_tc.c
parent02776baefafae26b2e8b15569fe1868071fb550a (diff)
downloadFreeBSD-src-35b126e324b8032aebea9ab6b4daf7c0bf8daed0.zip
FreeBSD-src-35b126e324b8032aebea9ab6b4daf7c0bf8daed0.tar.gz
Pull in r267961 and r267973 again. Fix for issues reported will follow.
Diffstat (limited to 'sys/kern/kern_tc.c')
-rw-r--r--sys/kern/kern_tc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/kern_tc.c b/sys/kern/kern_tc.c
index 9fe7ebe..78ceff2 100644
--- a/sys/kern/kern_tc.c
+++ b/sys/kern/kern_tc.c
@@ -128,10 +128,9 @@ struct bintime tc_tick_bt;
sbintime_t tc_tick_sbt;
int tc_precexp;
int tc_timepercentage = TC_DEFAULTPERC;
-TUNABLE_INT("kern.timecounter.alloweddeviation", &tc_timepercentage);
static int sysctl_kern_timecounter_adjprecision(SYSCTL_HANDLER_ARGS);
SYSCTL_PROC(_kern_timecounter, OID_AUTO, alloweddeviation,
- CTLTYPE_INT | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, 0,
+ CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, 0, 0,
sysctl_kern_timecounter_adjprecision, "I",
"Allowed time interval deviation in percents");
@@ -1794,7 +1793,10 @@ sysctl_kern_timecounter_adjprecision(SYSCTL_HANDLER_ARGS)
if (error != 0 || req->newptr == NULL)
return (error);
tc_timepercentage = val;
+ if (cold)
+ goto done;
tc_adjprecision();
+done:
return (0);
}
OpenPOWER on IntegriCloud