Messages in this thread | | | Date | Tue, 20 Jul 2004 17:03:44 +1000 | From | Peter Williams <> | Subject | Re: [PATCH] CPU Scheduler Evaluation tool for 2.6.8-rc1 |
| |
Peter Williams wrote: > The HYDRA patch for facilitating the comparative evaluation of > alternative CPU schedulers is now available for the 2.6.8-rc1 kernel. > This patch allows the run time selection of CPU scheduler between a > slightly modified version of Con Kolivas's staircase scheduler ("sc") > (including the SCHED_BATCH and SCHED_ISO scheduler classes), the > priority based scheduler with interactive and throughput bonuses ("pb") > and an entitlement based scheduler with interactive and throughput > bonuses ("eb"). This patch is available for download at: > > <http://prdownloads.sourceforge.net/cpuse/patch-2.6.8-rc1-spa_hydra_FULL-v2.0?download> >
Now available for 2.6.8-rc2 at:
<http://prdownloads.sourceforge.net/cpuse/patch-2.6.8-rc2-spa_hydra_FULL-v2.1?download>
> > The file /proc/sys/kernel/cpusched/mode enables control of which > scheduler is in control. The string "sc" is used to select the > staircase scheduler, "pb" to select the priority based scheduler and > "eb" to select the entitlement based scheduler described above. The > control of other scheduling parameters is facilitated by other files in > the directory /proc/sys/kernel/cpusched as follows (in alphabetical order): > > base_promotion_interval - controls the interval between successive (anti > starvation) runnable task promotions (for the "pb" scheduler this is > effectively a means to control the "severity" of "nice"). The actual > interval will be (number of runnable tasks - 1) times this value in msecs. > > compute - "sc" scheduler boolean parameter > > cpu_hog_threshold - for the "pb" and "eb" schedulers this parameter sets > the CPU usage rate (in parts per thousand) above which tasks will be > considered to be CPU hogs and start to lose interactive bonus points (if > they have any) > > hog_sub_cycle_threshold - for the "pb" and "eb" schedulers this the > number of time slices above which calculation of various rates will be > made on a per time slice basis rather than a full scheduling cycle (i.e. > from one "wake up" to the next). This is necessary to ensure that very > hard CPU spinners usage statistics are representative of the current > system state. > > ia_threshold - for the "pb" and "eb" schedulers this is the sleepiness > (i.e. the ratio of sleep time per cycle to sleep plus cpu time per > cycle) (in parts per thousand) above which a task will be considered to > be interactive and have its interactive bonus increased asymptotically > towards the maximum. > > initial_ia_bonus - for the "pb" and "eb" schedulers this is the > interactive bonus given to newly forked processes. > > interactive - "sc" scheduler boolean parameter > > log_at_exit - boolean parameter to control whether tasks' CPU scheduling > statistics are logged at exit > > max_ia_bonus - the maximum interactive bonus that a task can receive > > max_tpt_bonus - the maximum throughput bonus that a task can receive > > sched_iso_threshold - for the "eb" and "pb" this is a CPU usage > threshold (in parts per thousand) above which SCHED_ISO tasks will cease > to get special treatment > > time_slice - the time slice size in msecs that will be given to each task > > To facilitate the viewing/setting of these parameters a primitive GUI, > which also displays per CPU scheduling statistics for the system, is > available at: > > <http://prdownloads.sourceforge.net/cpuse/gcpuctl_hydra-1.2.tar.gz?download> > > > Stand alone versions of the three schedulers are available from: > > <https://sourceforge.net/projects/cpuse/> > > The stand alone "pb" and "eb" schedulers do not currently support > SCHED_BATCH and SCHED_ISO. > > Peter
-- Peter Williams pwil3058@bigpond.net.au
"Learning, n. The kind of ignorance distinguishing the studious." -- Ambrose Bierce
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |