Page MenuHomeFreeBSD

D27267.id79701.diff
No OneTemporary

D27267.id79701.diff

Index: sys/kern/kern_timeout.c
===================================================================
--- sys/kern/kern_timeout.c
+++ sys/kern/kern_timeout.c
@@ -1334,71 +1334,6 @@
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)
{
Index: sys/sys/systm.h
===================================================================
--- sys/sys/systm.h
+++ sys/sys/systm.h
@@ -482,11 +482,6 @@
uint64_t cpu_tickrate(void);
uint64_t cputick2usec(uint64_t tick);
-#ifdef APM_FIXUP_CALLTODO
-struct timeval;
-void adjust_timeout_calltodo(struct timeval *time_change);
-#endif /* APM_FIXUP_CALLTODO */
-
#include <sys/libkern.h>
/* Initialize the world */

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 13, 7:48 AM (29 m, 38 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31400645
Default Alt Text
D27267.id79701.diff (2 KB)

Event Timeline