]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kern/mach_factor.c
xnu-201.tar.gz
[apple/xnu.git] / osfmk / kern / mach_factor.c
index eca59d7c67a66ad595089b868c74f9dce58df585..14eba5e2be7b4e6796d290d06fdf29b6c1e28e05 100644 (file)
@@ -76,11 +76,16 @@ integer_t   mach_factor[3] = {0, 0, 0};
 /*
  * Values are scaled by LOAD_SCALE, defined in processor_info.h
  */
 /*
  * Values are scaled by LOAD_SCALE, defined in processor_info.h
  */
+#define base(n)                ((n) << SCHED_TICK_SHIFT)
+#define frac(n)                (((base(n) - 1) * LOAD_SCALE) / base(n))
+
 static long    fract[3] = {
 static long    fract[3] = {
-       800,                    /* (4.0/5.0) 5 second average */
-       966,                    /* (29.0/30.0) 30 second average */
-       983,                    /* (59.0/60.) 1 minute average */
+       frac(5),                /* 5 second average */
+       frac(30),               /* 30 second average */
+       frac(60),               /* 1 minute average */
 };
 };
+#undef base
+#undef frac
 
 void
 compute_mach_factor(void)
 
 void
 compute_mach_factor(void)