summaryrefslogtreecommitdiff
path: root/static/plan9-4e/man3/kprof.3
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-26 16:38:00 -0400
committerJacob McDonnell <jacob@jacobmcdonnell.com>2026-04-26 16:38:00 -0400
commit97d5c458cfa039d857301e1ca7d5af3beb37131d (patch)
treeb460cd850d0537eb71806ba30358840377b27688 /static/plan9-4e/man3/kprof.3
parentb89dc2331a50c63f8b33272a5c4c61ab98abdaa3 (diff)
build: Better Build System
Diffstat (limited to 'static/plan9-4e/man3/kprof.3')
-rw-r--r--static/plan9-4e/man3/kprof.366
1 files changed, 66 insertions, 0 deletions
diff --git a/static/plan9-4e/man3/kprof.3 b/static/plan9-4e/man3/kprof.3
new file mode 100644
index 00000000..4d3f9999
--- /dev/null
+++ b/static/plan9-4e/man3/kprof.3
@@ -0,0 +1,66 @@
+.TH KPROF 3
+.SH NAME
+kprof \- kernel profiling
+.SH SYNOPSIS
+.nf
+.B bind -a #K /dev
+.sp
+.B /dev/kpctl
+.B /dev/kpdata
+.fi
+.SH DESCRIPTION
+The
+.I kprof
+device provides simple profiling
+data for the operating system kernel. The data accumulates by
+recording the program counter of the kernel at each `tick' of the
+system clock.
+.PP
+The file
+.B kpdata
+holds the accumulated counts as 4-byte integers in big-endian
+byte order.
+The size of the file depends on the size of kernel text.
+The first count
+holds the total number of clock ticks during profiling;
+the second the number of ticks that occurred while the kernel
+was running. The rest each hold the number of ticks
+the kernel program counter was within the
+corresponding 8-byte range of kernel text, starting from the base
+of kernel text.
+.PP
+The file
+.B kpctl
+controls profiling.
+Writing the string
+.B start
+to
+.B kpctl
+begins profiling;
+.B stop
+terminates it. The message
+.B startclr
+restarts profiling after zeroing the array of counts.
+.PP
+The program
+.I kprof
+(see
+.IR prof (1))
+formats the data for presentation.
+.SH EXAMPLE
+The following
+.IR rc (1)
+script runs a test program while profiling the kernel
+and reports the results.
+.sp
+.EX
+ bind -a '#K' /dev
+ echo start > /dev/kpctl
+ runtest
+ echo stop > /dev/kpctl
+ kprof /386/9pcdisk /dev/kpdata
+.EE
+.SH SOURCE
+.B /sys/src/9/port/devkprof.c
+.SH SEE ALSO
+.IR prof (1)