summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2007-01-06 12:33:43 +0000
committerjeff <jeff@FreeBSD.org>2007-01-06 12:33:43 +0000
commit0f9511e94e1bdd0fd622e40dd0e76a48b4a972c9 (patch)
tree61ce702de61d061f6cfc68d82d99a103e6be0fe6 /sys/kern
parentd2158e6c48f2f33afa00482c6cdfb84ae8d2d28c (diff)
downloadFreeBSD-src-0f9511e94e1bdd0fd622e40dd0e76a48b4a972c9.zip
FreeBSD-src-0f9511e94e1bdd0fd622e40dd0e76a48b4a972c9.tar.gz
- Don't let SCHED_TICK_TOTAL() return less than hz. This can cause integer
divide faults in roundup() later if it is able to return 0. For some reason this bug only shows up on my laptop and not my testboxes.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/sched_ule.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c
index 355cb9b..b96338a 100644
--- a/sys/kern/sched_ule.c
+++ b/sys/kern/sched_ule.c
@@ -110,7 +110,7 @@ static struct td_sched td_sched0;
#define SCHED_TICK_MAX (SCHED_TICK_TARG + hz)
#define SCHED_TICK_SHIFT 10
#define SCHED_TICK_HZ(ts) ((ts)->ts_ticks >> SCHED_TICK_SHIFT)
-#define SCHED_TICK_TOTAL(ts) ((ts)->ts_ltick - (ts)->ts_ftick)
+#define SCHED_TICK_TOTAL(ts) (max((ts)->ts_ltick - (ts)->ts_ftick, hz))
/*
* These macros determine priorities for non-interactive threads. They are
OpenPOWER on IntegriCloud