Lines Matching +full:lock +full:- +full:latency +full:- +full:ns
60 .Bd -literal
182 Callouts only provide a single-shot mode.
205 that is not associated with a specific lock.
210 .Dq multi-processor safe ;
211 and the Giant lock will be acquired before calling the callout function
221 that is associated with a specific lock.
222 The lock is specified by the
228 The associated lock must be held while stopping or rescheduling the
230 The callout subsystem acquires the associated lock before calling the
233 associated lock,
235 and the associated lock is released.
239 A sleepable read-mostly lock
247 Similarly, other sleepable lock types such as
261 .Bl -tag -width ".Dv CALLOUT_RETURNUNLOCKED"
263 The callout function will release the associated lock itself,
267 The lock is only acquired in read mode when running the callout handler.
289 If the callout has an associated lock,
290 then that lock must be held when this function is called.
322 If the callout has an associated lock,
323 then that lock must be held when any of these functions are called.
338 .Fa ticks Ns No /hz
340 Non-positive values of
363 A non-zero value for
374 .Bl -tag -width ".Dv C_DIRECT_EXEC"
387 This reduces latency and overhead, but puts more constraints on the callout
393 divided by acceptable time deviation: 1 -- 1/2, 2 -- 1/4, etc.
414 which uses the user-supplied
488 loader tunable to a non-zero value.
492 loader tunable to a non-zero value.
539 function may be used to pre-calculate the absolute time at which the
563 to avoid incorrect re-adjustment.
576 In particular, since callout functions typically acquire a lock as
578 but is blocked waiting for that lock at the time that another thread
584 .Bl -enum -offset indent
586 Callouts can be associated with a specific lock when they are initialized
592 When a callout is associated with a lock,
593 the callout subsystem acquires the lock before the callout function is
599 Note that the associated lock must be acquired before calling
634 .Bd -literal -offset indent
635 if (sc->sc_flags & SCFLG_CALLOUT_RUNNING) {
636 if (callout_stop(&sc->sc_callout)) {
637 sc->sc_flags &= ~SCFLG_CALLOUT_RUNNING;
705 .Bd -literal -offset indent
706 mtx_lock(&sc->sc_mtx);
707 if (callout_pending(&sc->sc_callout)) {
709 mtx_unlock(&sc->sc_mtx);
712 if (!callout_active(&sc->sc_callout)) {
714 mtx_unlock(&sc->sc_mtx);
717 callout_deactivate(&sc->sc_callout);
728 .Bd -literal -offset indent
729 mtx_lock(&sc->sc_mtx);
730 callout_stop(&sc->sc_callout);
763 a callout should always be drained prior to destroying its associated lock
847 introduced per-CPU callout wheels,
854 one-shot event timers instead of a periodic timer interrupt.