mirror of https://github.com/BOINC/boinc.git
- client: CPU sched bug fixes when project has huge DCF.
Also prevent switching between two jobs with same deadline. svn path=/trunk/boinc/; revision=14355
This commit is contained in:
parent
c962ad507d
commit
eaeacc8404
|
@ -12103,3 +12103,10 @@ David 4 Dec 2007
|
|||
|
||||
html/user/
|
||||
team_edit_action.php
|
||||
|
||||
David 4 Dec 2007
|
||||
- client: CPU sched bug fixes when project has huge DCF.
|
||||
Also prevent switching between two jobs with same deadline.
|
||||
|
||||
client/
|
||||
cpu_sched.C
|
||||
|
|
|
@ -205,14 +205,13 @@ RESULT* CLIENT_STATE::earliest_deadline_result() {
|
|||
if (!rp->runnable()) continue;
|
||||
if (rp->project->non_cpu_intensive) continue;
|
||||
if (rp->already_selected) continue;
|
||||
if (!rp->project->deadlines_missed) continue;
|
||||
if (!rp->project->deadlines_missed && rp->project->duration_correction_factor < 90.0) continue;
|
||||
// treat projects with DCF>90 as if they had deadline misses
|
||||
|
||||
bool new_best = false;
|
||||
if (best_result) {
|
||||
if (rp->report_deadline < best_result->report_deadline) {
|
||||
new_best = true;
|
||||
} else if (rp->project->duration_correction_factor > 90.0) {
|
||||
new_best = true;
|
||||
}
|
||||
} else {
|
||||
new_best = true;
|
||||
|
@ -233,6 +232,7 @@ RESULT* CLIENT_STATE::earliest_deadline_result() {
|
|||
if (best_atp && !atp) continue;
|
||||
if (rp->estimated_cpu_time_remaining(false)
|
||||
< best_result->estimated_cpu_time_remaining(false)
|
||||
|| (!best_atp && atp)
|
||||
) {
|
||||
best_result = rp;
|
||||
best_atp = atp;
|
||||
|
|
Loading…
Reference in New Issue