My last few commits, including this one, went a long way towards improving ULE's interactive responsiveness under heavy load. I was just able to do a make -j32 of my kernel while browsing the web with mozilla and commiting this change. Mozilla, my shell, cvs, etc. were all as responsive as they are on an unloaded system. This is on a 2ghz laptop so your mileage may not be exactly the same. This is a significant improvement over the old state of things. If the interactive perf was chasing you away before, ULE should be much better now. Cheers, Jeff ---------- Forwarded message ---------- Date: Mon, 16 Jun 2003 23:39:51 -0700 (PDT) From: Jeff Roberson <jeff_at_FreeBSD.org> To: src-committers_at_FreeBSD.org, cvs-src_at_FreeBSD.org, cvs-all_at_FreeBSD.org Subject: cvs commit: src/sys/kern sched_ule.c jeff 2003/06/16 23:39:51 PDT FreeBSD src repository Modified files: sys/kern sched_ule.c Log: - Add a new function "sched_interact_update()" that scales back the sleep and run time. - Scale the sleep and run time back via sched_interact_update() in more places. This is to keep the statistic more accurate. - Charge a parent one tick for forking a child. - Add only the run time and not the sleep time to the parents kg when a thread exits. This allows us to give a penalty for having an expensive thread exit but does not give a bonus for having an interactive thread exit. - Change the SLP_RUN_THROTTLE to limit us to 4/5th and not 1/2. - Change the SLP_RUN_MAX to two seconds. This keeps bursty interactive applications like mozilla and openoffice in the interactive range even through expensive tasks. - Recalculate the slice after every sleep. This ensures that once a task has been marked interactive it only has a slice of 1 at the risk of giving tasks that sleep for a very brief period a longer time slice. Revision Changes Path 1.42 +20 -23 src/sys/kern/sched_ule.cReceived on Mon Jun 16 2003 - 21:45:22 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:12 UTC