Date: 09 Mar 2004 17:35:13 +0000 From: Bin Ren <br260@cam.ac.uk> To: freebsd-hackers@freebsd.org Subject: ULE interactivity update Message-ID: <E1B0l8L-0004IO-9V.--077bfdda5c08a3dc1da12f192cb9c38ad6165f2b@maroon.csi.cam.ac.uk>
next in thread | raw e-mail | index | archive | help
Hi, in 'sys/kern/sched_ule.c', there is: static void sched_interact_update(struct ksegrp *kg) { int sum; sum = kg->kg_runtime + kg->kg_slptime; if (sum < SCHED_SLP_RUN_MAX) return; /* * If we have exceeded by more than 1/5th then the algorithm below * will not bring us back into range. Dividing by two here forces * us into the range of [3/5 * SCHED_INTERACT_MAX, SCHED_INTERACT_MAX] */ if (sum > (SCHED_INTERACT_MAX / 5) * 6) { kg->kg_runtime /= 2; kg->kg_slptime /= 2; return; } kg->kg_runtime = (kg->kg_runtime / 5) * 4; kg->kg_slptime = (kg->kg_slptime / 5) * 4; } Why here is 'SCHED_INTERACT_MAX' suddenly used instead of SCHED_SLP_RUN_MAX? There is a huge difference between them, both in values and in meanings. Thanks, Bin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1B0l8L-0004IO-9V.--077bfdda5c08a3dc1da12f192cb9c38ad6165f2b>