if ($jobinfo->{recipe} =~ m/build/) {
$variation_age= 0;
$duration_for_cost= $duration + $duration_rightaway_adjust;
- } elsif ($variation_age > 5*86400) {
- $variation_age= 5*86400;
}
+ my $log_variation_age = log(1+$variation_age/86400);
+ my $variation_bonus = $log_variation_age * 3600*2;
+ my $max_variation_bonus = 12*3600;
+ $variation_bonus=$max_variation_bonus
+ if $variation_bonus>$max_variation_bonus;
+
my $cost= $start_time
+ $duration_for_cost
- ($previously_failed ==@hids ? 366*86400 :
$previously_failed_equiv==@hids ? 365*86400 :
0)
- + ($previously_failed ? + $variation_age * 10 : - $variation_age / 30)
+ + ($previously_failed || $previously_failed_equiv
+ ? (-$max_variation_bonus+$variation_bonus) : -$variation_bonus)
- $share_reuse * 10000;
print DEBUG "$dbg FINAL start=$start_time va=$variation_age".
+ " variation_bonus=$variation_bonus".
" previously_failed=$previously_failed".
" previously_failed_equiv=$previously_failed_equiv cost=$cost\n";