Changeset View
Changeset View
Standalone View
Standalone View
sys/kern/kern_timeout.c
Show First 20 Lines • Show All 722 Lines • ▼ Show 20 Lines | #endif | ||||
THREAD_SLEEPING_OK(); | THREAD_SLEEPING_OK(); | ||||
#if defined(DIAGNOSTIC) || defined(CALLOUT_PROFILING) | #if defined(DIAGNOSTIC) || defined(CALLOUT_PROFILING) | ||||
sbt2 = sbinuptime(); | sbt2 = sbinuptime(); | ||||
sbt2 -= sbt1; | sbt2 -= sbt1; | ||||
if (sbt2 > maxdt) { | if (sbt2 > maxdt) { | ||||
if (lastfunc != c_func || sbt2 > maxdt * 2) { | if (lastfunc != c_func || sbt2 > maxdt * 2) { | ||||
ts2 = sbttots(sbt2); | ts2 = sbttots(sbt2); | ||||
printf( | printf( | ||||
"Expensive timeout(9) function: %p(%p) %jd.%09ld s\n", | "Expensive callout(9) function: %p(%p) %jd.%09ld s\n", | ||||
c_func, c_arg, (intmax_t)ts2.tv_sec, ts2.tv_nsec); | c_func, c_arg, (intmax_t)ts2.tv_sec, ts2.tv_nsec); | ||||
} | } | ||||
maxdt = sbt2; | maxdt = sbt2; | ||||
lastfunc = c_func; | lastfunc = c_func; | ||||
} | } | ||||
#endif | #endif | ||||
KTR_STATE0(KTR_SCHED, "callout", cc->cc_ktr_event_name, "idle"); | KTR_STATE0(KTR_SCHED, "callout", cc->cc_ktr_event_name, "idle"); | ||||
CTR1(KTR_CALLOUT, "callout %p finished", c); | CTR1(KTR_CALLOUT, "callout %p finished", c); | ||||
▲ Show 20 Lines • Show All 815 Lines • Show Last 20 Lines |