Skip to contentSkip to conversation

V-3.0 Single Priority Array O(1) CPU Scheduler Evaluation

PATCH New Peter Williams 1 participant 1 message Aug 7, 2004

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 V-3.0 Single Priority Array O(1) CPU Scheduler Evaluation

Version 3.1 of the various single priority array scheduler patches for 2.6.7, 2.6.8-rc2 and 2.6.8-rc3 kernels are now available for evaluation.

This is a bug fix release to fix a problem caused by sched_clock() not being monotonic. This meant that when measuring small time intervals by taking the difference between successive calls to sched_clock() there is a possibility of obtaining a negative value (or, as unsigned long longs are being used, a very big one). One unfortunate consequence of this is that adding to non zero intervals together could lead to a zero result and possible divide by zero problems.

1. [ZAPHOD] Runtime selectable choice between a priority based or entitlement based O(1) scheduler with active/expired arrays replaced by a single array and an O(1) promotion mechanism plus scheduling statistics with new interactive bonus mechanism and throughput bonus mechanism:

2.6.7 <http://prdownloads.sourceforge.net/cpuse/patch-2.6.7-spa_zaphod_FULL-v3.1?download>
2.6.8-rc2 <http://prdownloads.sourceforge.net/cpuse/patch-2.6.8-rc2-spa_zaphod_FULL-v3.1?download>
2.6.8-rc3 <http://prdownloads.sourceforge.net/cpuse/patch-2.6.8-rc3-spa_zaphod_FULL-v3.1?download>

2. Slightly modified version of Con Kolivas's staircase O(1) scheduler with active/expired arrays replaced by a single array and an O(1) promotion mechanism:

2.6.7 <http://prdownloads.sourceforge.net/cpuse/patch-2.6.7-spa_sc_FULL-v3.1?download>
2.6.8-rc2 <http://prdownloads.sourceforge.net/cpuse/patch-2.6.8-rc2-spa_sc_FULL-v3.1?download>
2.6.8-rc3 <http://prdownloads.sourceforge.net/cpuse/patch-2.6.8-rc3-spa_sc_FULL-v3.1?download>

3. [HYDRA] Runtime selection between staircase, priority based and entitlement based O(1) schedulers:

2.6.7 <http://prdownloads.sourceforge.net/cpuse/patch-2.6.7-spa_hydra_FULL-v3.1?download>
2.6.8-rc2 <http://prdownloads.sourceforge.net/cpuse/patch-2.6.8-rc2-spa_hydra_FULL-v3.1?download>
2.6.8-rc3 <http://prdownloads.sourceforge.net/cpuse/patch-2.6.8-rc3-spa_hydra_FULL-v3.1?download>

Other schedulers are also available from <https://sourceforge.net/projects/cpuse/>

So as not to interfere with the staircase scheduler's evaluation I do not propose to release patches for rc3-mm kernels unless requested.

I'm in the process of simplifying my schedulers (I got carried away with the theory) in order to reduce their overhead and hope to release a new slimmer version early next week. Also on the "to do" list are CPU rate caps.

Peter

Signature · 4 lines
Peter Williams                                   [email protected]

"Learning, n. The kind of ignorance distinguishing the studious."
 -- Ambrose Bierce