The following reply was made to PR kern/187668; it has been noted by GNATS.
From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:
Subject: Re: kern/187668: commit references a PR
Date: Wed, 16 Apr 2014 18:37:50 +0000 (UTC)
Author: mav
Date: Wed Apr 16 18:37:46 2014
New Revision: 264550
URL: http://svnweb.freebsd.org/changeset/base/264550
Log:
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
MFC after: 1 week
Modified:
head/sys/kern/kern_time.c
Modified: head/sys/kern/kern_time.c
==============================================================================
--- head/sys/kern/kern_time.c Wed Apr 16 18:23:36 2014 (r264549)
+++ head/sys/kern/kern_time.c Wed Apr 16 18:37:46 2014 (r264550)
@@ -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@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"