xref: /freebsd/share/man/man4/dtrace_callout_execute.4 (revision 3ccb2d9513e6a2e046e635c186da68acf8f8498b)
1*3ccb2d95SMateusz Piotrowski.\"
2*3ccb2d95SMateusz Piotrowski.\" Copyright (c) 2025 Mateusz Piotrowski <0mp@FreeBSD.org>
3*3ccb2d95SMateusz Piotrowski.\"
4*3ccb2d95SMateusz Piotrowski.\" SPDX-License-Identifier: BSD-2-Clause
5*3ccb2d95SMateusz Piotrowski.\"
6*3ccb2d95SMateusz Piotrowski.Dd November 4, 2025
7*3ccb2d95SMateusz Piotrowski.Dt DTRACE_CALLOUT_EXECUTE 4
8*3ccb2d95SMateusz Piotrowski.Os
9*3ccb2d95SMateusz Piotrowski.Sh NAME
10*3ccb2d95SMateusz Piotrowski.Nm dtrace_callout_execute
11*3ccb2d95SMateusz Piotrowski.Nd a DTrace provider for the callout API
12*3ccb2d95SMateusz Piotrowski.Sh SYNOPSIS
13*3ccb2d95SMateusz Piotrowski.Nm callout_execute Ns Cm :kernel::callout_start
14*3ccb2d95SMateusz Piotrowski.Nm callout_execute Ns Cm :kernel::callout_end
15*3ccb2d95SMateusz Piotrowski.Sh DESCRIPTION
16*3ccb2d95SMateusz PiotrowskiThe
17*3ccb2d95SMateusz Piotrowski.Nm callout_execute
18*3ccb2d95SMateusz Piotrowskiprovider allows for tracing the
19*3ccb2d95SMateusz Piotrowski.Xr callout 9
20*3ccb2d95SMateusz Piotrowskimechanism.
21*3ccb2d95SMateusz Piotrowski.Pp
22*3ccb2d95SMateusz PiotrowskiThe
23*3ccb2d95SMateusz Piotrowski.Nm callout_execute Ns Cm :kernel::callout_start
24*3ccb2d95SMateusz Piotrowskiprobe fires just before a callout.
25*3ccb2d95SMateusz Piotrowski.Pp
26*3ccb2d95SMateusz PiotrowskiThe
27*3ccb2d95SMateusz Piotrowski.Nm callout_execute Ns Cm :kernel::callout_end
28*3ccb2d95SMateusz Piotrowskiprobe fires right after a callout.
29*3ccb2d95SMateusz Piotrowski.Pp
30*3ccb2d95SMateusz PiotrowskiThe only argument to the
31*3ccb2d95SMateusz Piotrowski.Nm callout_execute
32*3ccb2d95SMateusz Piotrowskiprobes,
33*3ccb2d95SMateusz Piotrowski.Fa args[0] ,
34*3ccb2d95SMateusz Piotrowskiis a callout handler
35*3ccb2d95SMateusz Piotrowski.Ft struct callout *
36*3ccb2d95SMateusz Piotrowskiof the invoked callout.
37*3ccb2d95SMateusz Piotrowski.Sh EXAMPLES
38*3ccb2d95SMateusz Piotrowski.Ss Example 1: Graph of Callout Execution Time
39*3ccb2d95SMateusz PiotrowskiThe following
40*3ccb2d95SMateusz Piotrowski.Xr d 7
41*3ccb2d95SMateusz Piotrowskiscript generates a distribution graph of
42*3ccb2d95SMateusz Piotrowski.Xr callout 9
43*3ccb2d95SMateusz Piotrowskiexecution times:
44*3ccb2d95SMateusz Piotrowski.Bd -literal -offset 2n
45*3ccb2d95SMateusz Piotrowskicallout_execute:::callout_start
46*3ccb2d95SMateusz Piotrowski{
47*3ccb2d95SMateusz Piotrowski    self->cstart = timestamp;
48*3ccb2d95SMateusz Piotrowski}
49*3ccb2d95SMateusz Piotrowski
50*3ccb2d95SMateusz Piotrowskicallout_execute:::callout_end
51*3ccb2d95SMateusz Piotrowski{
52*3ccb2d95SMateusz Piotrowski    @length = quantize(timestamp - self->cstart);
53*3ccb2d95SMateusz Piotrowski}
54*3ccb2d95SMateusz Piotrowski.Ed
55*3ccb2d95SMateusz Piotrowski.Sh SEE ALSO
56*3ccb2d95SMateusz Piotrowski.Xr dtrace 1 ,
57*3ccb2d95SMateusz Piotrowski.Xr tracing 7 ,
58*3ccb2d95SMateusz Piotrowski.Xr callout 9 ,
59*3ccb2d95SMateusz Piotrowski.Xr SDT 9
60*3ccb2d95SMateusz Piotrowski.Sh AUTHORS
61*3ccb2d95SMateusz Piotrowski.An -nosplit
62*3ccb2d95SMateusz PiotrowskiThe
63*3ccb2d95SMateusz Piotrowski.Nm callout_execute
64*3ccb2d95SMateusz Piotrowskiprovider was written by
65*3ccb2d95SMateusz Piotrowski.An Robert N. M. Watson Aq Mt rwatson@FreeBSD.org .
66*3ccb2d95SMateusz Piotrowski.Pp
67*3ccb2d95SMateusz PiotrowskiThis manual page was written by
68*3ccb2d95SMateusz Piotrowski.An Mateusz Piotrowski Aq Mt 0mp@FreeBSD.org .
69