Page MenuHomeFreeBSD

D57931.diff
No OneTemporary

D57931.diff

diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile
--- a/share/man/man9/Makefile
+++ b/share/man/man9/Makefile
@@ -320,6 +320,7 @@
rtentry.9 \
runqueue.9 \
rwlock.9 \
+ sbintime.9 \
sbuf.9 \
scheduler.9 \
SDT.9 \
@@ -1985,6 +1986,19 @@
rwlock.9 rw_wlock.9 \
rwlock.9 rw_wowned.9 \
rwlock.9 rw_wunlock.9
+MLINKS+=sbintime.9 bttosbt.9 \
+ sbintime.9 mstosbt.9 \
+ sbintime.9 nstosbt.9 \
+ sbintime.9 sbintime_getsec.9 \
+ sbintime.9 sbttobt.9 \
+ sbintime.9 sbttoms.9 \
+ sbintime.9 sbttons.9 \
+ sbintime.9 sbttots.9 \
+ sbintime.9 sbttotv.9 \
+ sbintime.9 sbttous.9 \
+ sbintime.9 tstosbt.9 \
+ sbintime.9 tvtosbt.9 \
+ sbintime.9 ustosbt.9
MLINKS+=sbuf.9 sbuf_bcat.9 \
sbuf.9 sbuf_bcopyin.9 \
sbuf.9 sbuf_bcpy.9 \
diff --git a/share/man/man9/callout.9 b/share/man/man9/callout.9
--- a/share/man/man9/callout.9
+++ b/share/man/man9/callout.9
@@ -27,7 +27,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd November 4, 2025
+.Dd July 4, 2026
.Dt CALLOUT 9
.Os
.Sh NAME
@@ -790,7 +790,8 @@
called, a zero if the callout could not be stopped and a negative one is it
was either not running or has already completed.
.Sh SEE ALSO
-.Xr dtrace_callout_execute 4
+.Xr dtrace_callout_execute 4 ,
+.Xr sbintime 9
.Sh HISTORY
.Fx
initially used the long standing
diff --git a/share/man/man9/microtime.9 b/share/man/man9/microtime.9
--- a/share/man/man9/microtime.9
+++ b/share/man/man9/microtime.9
@@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd September 16, 2004
+.Dd July 4, 2026
.Dt MICROTIME 9
.Os
.Sh NAME
@@ -100,6 +100,7 @@
.Xr getnanouptime 9 ,
.Xr microuptime 9 ,
.Xr nanouptime 9 ,
+.Xr sbintime 9 ,
.Xr tvtohz 9
.Sh HISTORY
The
diff --git a/share/man/man9/sbintime.9 b/share/man/man9/sbintime.9
new file mode 100644
--- /dev/null
+++ b/share/man/man9/sbintime.9
@@ -0,0 +1,166 @@
+.\"
+.\" Copyright (c) 2026 Ka Ho Ng
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
+.Dd July 4, 2026
+.Dt SBINTIME 9
+.Os
+.Sh NAME
+.Nm sbintime_t ,
+.Nm sbintime_getsec ,
+.Nm bttosbt ,
+.Nm sbttobt ,
+.Nm sbttons ,
+.Nm nstosbt ,
+.Nm sbttous ,
+.Nm ustosbt ,
+.Nm sbttoms ,
+.Nm mstosbt ,
+.Nm sbttots ,
+.Nm tstosbt ,
+.Nm sbttotv ,
+.Nm tvtosbt
+.Nd Q32.32 fixed point representation of time
+.Sh SYNOPSIS
+.In sys/types.h
+.In sys/time.h
+.Vt typedef __int64_t __sbintime_t ;
+.Vt typedef __sbintime_t sbintime_t ;
+.Ft int
+.Fn sbintime_getsec "sbintime_t _sbt"
+.Ft sbintime_t
+.Fn bttosbt "const struct bintime *_bt"
+.Ft struct bintime
+.Fn sbttobt "sbintime_t _sbt"
+.Ft int64_t
+.Fn sbttons "sbintime_t sbt"
+.Ft sbintime_t
+.Fn nstosbt "int64_t ns"
+.Ft int64_t
+.Fn sbttous "sbintime_t sbt"
+.Ft sbintime_t
+.Fn ustosbt "int64_t us"
+.Ft int64_t
+.Fn sbttoms "sbintime_t sbt"
+.Ft sbintime_t
+.Fn mstosbt "int64_t ms"
+.Ft struct timespec
+.Fn sbttots "sbintime_t _sbt"
+.Ft sbintime_t
+.Fn tstosbt "struct timespec _ts"
+.Ft struct timeval
+.Fn sbttotv "sbintime_t _sbt"
+.Ft sbintime_t
+.Fn tvtosbt "struct timeval _tv"
+.Sh DESCRIPTION
+The
+.Vt sbintime_t
+type is a Q32.32 fixed point representation of time.
+The high 32-bit integral bits specify the number of seconds,
+and the low 32-bit fractional bits specify the sub-second portion.
+Since the lower 32 bits are counting with a base unit of 1/2^32 seconds,
+.Ql (sbintime_t)0x1
+is just under 250 picoseconds.
+.Pp
+All the Xstosbt functions are designed to do the conversion without large
+truncation errors that are possible with naive math.
+.\" Begin of helper functions subsection
+.Bl -tag -width indent
+.It Fn sbintime_getsec _sbt
+Return the whole number of seconds from a
+.Vt sbintime_t
+specified by the
+.Fa _sbt
+argument.
+.It Fn bttosbt _bt
+Convert a
+.Vt struct bintime
+specified by the
+.Fa _bt
+argument to a
+.Vt sbintime_t .
+.It Fn sbttobt _bt
+Convert a
+.Vt sbintime_t
+specified by the
+.Fa _sbt
+argument to a
+.Vt "struct bintime" .
+.It Fn sbttons sbt
+Convert a
+.Vt sbintime_t
+specified by the
+.Fa sbt
+argument to the number of nanoseconds.
+.It Fn nstosbt ns
+Convert the number of nanoseconds specified by the
+.Fa ns
+argument to a
+.Vt sbintime_t .
+.It Fn sbttous sbt
+Convert a
+.Vt sbintime_t
+specified by the
+.Fa sbt
+argument to the number of microseconds.
+.It Fn ustosbt us
+Convert the number of microseconds specified by the
+.Fa us
+argument to a
+.Vt sbintime_t .
+.It Fn sbttoms sbt
+Convert a
+.Vt sbintime_t
+specified by the
+.Fa sbt
+argument to the number of milliseconds.
+.It Fn mstosbt ms
+Convert the number of milliseconds specified by the
+.Fa ms
+argument to a
+.Vt sbintime_t .
+.It Fn sbttots _sbt
+Convert a
+.Vt sbintime_t
+specified by the
+.Fa _sbt
+argument to a
+.Vt "struct timespec" .
+.It Fn tstosbt _ts
+Convert a
+.Vt "struct timespec"
+specified by the
+.Fa _ts
+argument to a
+.Vt sbintime_t .
+.It Fn sbttotv _sbt
+Convert a
+.Vt sbintime_t
+specified by the
+.Fa _sbt
+argument to a
+.Vt "struct timeval" .
+.It Fn tvtosbt _tv
+Convert a
+.Vt "struct timeval"
+specified by the
+.Fa _tv
+argument to a
+.Vt sbintime_t .
+.El
+.\" End of helper functions subsection
+.Sh SEE ALSO
+.Xr bintime 9 ,
+.Xr callout 9 ,
+.Xr tvtohz 9
+.Sh HISTORY
+The
+.Nm sbintime_t
+type and most of the helper functions first appeared in
+.Fx 10.0 .
+The Xstosbt functions first appeared in
+.Fx 14.0 .
+.Sh AUTHORS
+This manual page was written by
+.An Ka Ho Ng Aq Mt khng@FreeBSD.org .

File Metadata

Mime Type
text/plain
Expires
Tue, Jul 7, 4:12 AM (10 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34763176
Default Alt Text
D57931.diff (5 KB)

Event Timeline