TIMER: Remove excessive adjustment of sim_interval while idling

This commit is contained in:
Mark Pizzolato 2018-10-05 20:44:22 -07:00
parent b38cc8a367
commit 948d8cc6e8

View file

@ -1585,7 +1585,6 @@ else
act_ms = sim_idle_ms_sleep (w_ms); /* wait */ act_ms = sim_idle_ms_sleep (w_ms); /* wait */
rtc_clock_time_idled[tmr] += act_ms; rtc_clock_time_idled[tmr] += act_ms;
act_cyc = act_ms * sim_idle_cyc_ms; act_cyc = act_ms * sim_idle_cyc_ms;
act_cyc += (sim_idle_cyc_ms * sim_idle_rate_ms) / 2; /* account for half an interval's worth of cycles */
sim_interval = sim_interval - act_cyc; /* count down sim_interval to reflect idle period */ sim_interval = sim_interval - act_cyc; /* count down sim_interval to reflect idle period */
if (sim_clock_queue == QUEUE_LIST_END) if (sim_clock_queue == QUEUE_LIST_END)
sim_debug (DBG_IDL, &sim_timer_dev, "slept for %d ms - pending event in %d instructions\n", act_ms, sim_interval); sim_debug (DBG_IDL, &sim_timer_dev, "slept for %d ms - pending event in %d instructions\n", act_ms, sim_interval);