Suggest order of operations for recent_cpu calculation.
authorBen Pfaff <blp@cs.stanford.edu>
Tue, 20 Dec 2005 22:26:13 +0000 (22:26 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Tue, 20 Dec 2005 22:26:13 +0000 (22:26 +0000)
Thanks to "Jeff Sun" <precisely@gmail.com> for report.

doc/44bsd.texi

index e53e829ce2be438f9d1621eb5f8e1c94f891f715..1747277264aa489c905caaf6dc69fdaddc61a99d 100644 (file)
@@ -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}.