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