kern/187668: commit references a PR
dfilter service
dfilter at FreeBSD.ORG
Wed Apr 23 12:50:01 UTC 2014
The following reply was made to PR kern/187668; it has been noted by GNATS.
From: dfilter at FreeBSD.ORG (dfilter service)
To: bug-followup at FreeBSD.org
Cc:
Subject: Re: kern/187668: commit references a PR
Date: Wed, 23 Apr 2014 12:46:31 +0000 (UTC)
Author: mav
Date: Wed Apr 23 12:46:27 2014
New Revision: 264821
URL: http://svnweb.freebsd.org/changeset/base/264821
Log:
MFC r264550:
Fix VIRTUAL and PROF interval timers for short intervals, broken at r247903.
Due to the way those timers are implemented, we can't handle very short
intervals. In addition to that mentioned patch caused math overflows
for short intervals. To avoid that round those intervals to 1 tick.
PR: kern/187668
Modified:
stable/10/sys/kern/kern_time.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/kern/kern_time.c
==============================================================================
--- stable/10/sys/kern/kern_time.c Wed Apr 23 12:16:36 2014 (r264820)
+++ stable/10/sys/kern/kern_time.c Wed Apr 23 12:46:27 2014 (r264821)
@@ -774,6 +774,14 @@ kern_setitimer(struct thread *td, u_int
timevalsub(&oitv->it_value, &ctv);
}
} else {
+ if (aitv->it_interval.tv_sec == 0 &&
+ aitv->it_interval.tv_usec != 0 &&
+ aitv->it_interval.tv_usec < tick)
+ aitv->it_interval.tv_usec = tick;
+ if (aitv->it_value.tv_sec == 0 &&
+ aitv->it_value.tv_usec != 0 &&
+ aitv->it_value.tv_usec < tick)
+ aitv->it_value.tv_usec = tick;
PROC_SLOCK(p);
*oitv = p->p_stats->p_timer[which];
p->p_stats->p_timer[which] = *aitv;
_______________________________________________
svn-src-all at freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe at freebsd.org"
More information about the freebsd-bugs
mailing list