DragonFly commits List (threaded) for 2012-09
git: kernel - Add usched_dfly algorith, set as default for now (7)
Author: Matthew Dillon <firstname.lastname@example.org>
Date: Wed Sep 19 11:25:09 2012 -0700
kernel - Add usched_dfly algorith, set as default for now (7)
* Reenable weight2 (the process pairing heuristic) and fix the
edge cases associated with it.
* Change the process pulling behavior. Now we pull the 'worst' thread
from some other cpu instead of the best (duh!), we only pull when a
cpu winds up with no designated user threads, or we pull via a
The schedulerclock-implemented rover will allow ONE cpu to pull the
'worst' thread across all cpus (with some locality) once every
round-robin ticks (4 scheduler ticks).
The rover is responsible for taking excess processes that are unbalancing
one or more cpu's (for example, you have 6 running batch processes and
only 4 cpus) and slowly moving them between cpus. If we did not do this
the 'good' processes running on the unbalanced cpus are put at an unfair
* This should fix all known edge cases, including ramp-down edge cases.
Summary of changes:
sys/kern/usched_dfly.c | 221 +++++++++++++++++++++++++++++++-----------------
1 files changed, 145 insertions(+), 76 deletions(-)
DragonFly BSD source repository