From b5ced193260f65105acfb5d57c92619ecd6667b8 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Tue, 20 Dec 2005 22:26:13 +0000 Subject: [PATCH] Suggest order of operations for recent_cpu calculation. Thanks to "Jeff Sun" for report. --- doc/44bsd.texi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/44bsd.texi b/doc/44bsd.texi index e53e829..1747277 100644 --- a/doc/44bsd.texi +++ b/doc/44bsd.texi @@ -190,6 +190,11 @@ multiple of a second, that is, when @code{timer_ticks () % TIMER_FREQ == The value of @var{recent_cpu} can be negative for a thread with a negative @var{nice} value. Do not clamp negative @var{recent_cpu} to 0. +You may need to think about the order of calculations in this formula. +We recommend computing the coefficient of @var{recent_cpu} first, then +multiplying. Some students have reported that multiplying +@var{load_avg} by @var{recent_cpu} directly can cause overflow. + You must implement @func{thread_get_recent_cpu}, for which there is a skeleton in @file{threads/thread.c}. -- 2.30.2