Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F163438662
D57931.id181807.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
5 KB
Referenced Files
None
Subscribers
None
D57931.id181807.diff
View Options
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 11, 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 of the conversion 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 12.0 .
+.Sh AUTHORS
+This manual page was written by
+.An Ka Ho Ng Aq Mt khng@FreeBSD.org .
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jul 24, 5:12 AM (11 h, 24 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35398968
Default Alt Text
D57931.id181807.diff (5 KB)
Attached To
Mode
D57931: Add sbintime.9 manual page
Attached
Detach File
Event Timeline
Log In to Comment