diff options
author | Mark Johnston <markj@FreeBSD.org> | 2020-11-27 20:46:02 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2020-11-27 20:46:02 +0000 |
commit | 0c56925bc24625bd87cb8019f5eba78be1252046 (patch) | |
tree | 6229430c16c6737c0554558b884bfcfb9f279cd1 /sys/kern | |
parent | 1def0a6257f63f5985c9dbcd30531a2b603e6556 (diff) | |
download | src-test2-0c56925bc24625bd87cb8019f5eba78be1252046.tar.gz src-test2-0c56925bc24625bd87cb8019f5eba78be1252046.zip |
Notes
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/kern_timeout.c | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/sys/kern/kern_timeout.c b/sys/kern/kern_timeout.c index 5f9fd7542a97..5bb948610da1 100644 --- a/sys/kern/kern_timeout.c +++ b/sys/kern/kern_timeout.c @@ -1339,71 +1339,6 @@ _callout_init_lock(struct callout *c, struct lock_object *lock, int flags) c->c_cpu = cc_default_cpu; } -#ifdef APM_FIXUP_CALLTODO -/* - * Adjust the kernel calltodo timeout list. This routine is used after - * an APM resume to recalculate the calltodo timer list values with the - * number of hz's we have been sleeping. The next hardclock() will detect - * that there are fired timers and run softclock() to execute them. - * - * Please note, I have not done an exhaustive analysis of what code this - * might break. I am motivated to have my select()'s and alarm()'s that - * have expired during suspend firing upon resume so that the applications - * which set the timer can do the maintanence the timer was for as close - * as possible to the originally intended time. Testing this code for a - * week showed that resuming from a suspend resulted in 22 to 25 timers - * firing, which seemed independent on whether the suspend was 2 hours or - * 2 days. Your milage may vary. - Ken Key <key@cs.utk.edu> - */ -void -adjust_timeout_calltodo(struct timeval *time_change) -{ - struct callout *p; - unsigned long delta_ticks; - - /* - * How many ticks were we asleep? - * (stolen from tvtohz()). - */ - - /* Don't do anything */ - if (time_change->tv_sec < 0) - return; - else if (time_change->tv_sec <= LONG_MAX / 1000000) - delta_ticks = howmany(time_change->tv_sec * 1000000 + - time_change->tv_usec, tick) + 1; - else if (time_change->tv_sec <= LONG_MAX / hz) - delta_ticks = time_change->tv_sec * hz + - howmany(time_change->tv_usec, tick) + 1; - else - delta_ticks = LONG_MAX; - - if (delta_ticks > INT_MAX) - delta_ticks = INT_MAX; - - /* - * Now rip through the timer calltodo list looking for timers - * to expire. - */ - - /* don't collide with softclock() */ - CC_LOCK(cc); - for (p = calltodo.c_next; p != NULL; p = p->c_next) { - p->c_time -= delta_ticks; - - /* Break if the timer had more time on it than delta_ticks */ - if (p->c_time > 0) - break; - - /* take back the ticks the timer didn't use (p->c_time <= 0) */ - delta_ticks = -p->c_time; - } - CC_UNLOCK(cc); - - return; -} -#endif /* APM_FIXUP_CALLTODO */ - static int flssbt(sbintime_t sbt) { |