Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
do not wait for too small durations to avoid numerical instabilities
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 19 May 2008 12:42:01 +0000 (12:42 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 19 May 2008 12:42:01 +0000 (12:42 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@5438 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/surf/cpu.c

index 612030c..3ba5717 100644 (file)
@@ -304,11 +304,12 @@ static surf_action_t execute(void *cpu, double size)
 static surf_action_t action_sleep(void *cpu, double duration)
 {
   surf_action_cpu_Cas01_t action = NULL;
-
+  duration=MAX(duration,MAXMIN_PRECISION);
   XBT_IN2("(%s,%g)", ((cpu_Cas01_t) cpu)->name, duration);
   action = (surf_action_cpu_Cas01_t) execute(cpu, 1.0);
   action->generic_action.max_duration = duration;
   action->suspended = 2;
+
   lmm_update_variable_weight(cpu_maxmin_system, action->variable, 0.0);
   XBT_OUT;
   return (surf_action_t) action;