sysinfo Probes

The sysinfo provider makes available probes that correspond to the fields in the sys named kernel statistic: a probe provided by sysinfo fires immediately before the corresponding sys value is incremented. The following example shows how to display both the names and the current values of the sys named kernel statistic using the kstat2 command. For more information about the kstat command, see the kstat2(8) man page.

$ kstat2 -g '/system/cpu/*/sys'
kstat:/system/cpu/0/sys
        bawrite                         0
        bread                           0
        bwrite                          0
        canch                           9
        cpu_load_intr                   0%
        cpu_nsec_idle                   944039523309871ns elapsed
        cpu_nsec_intr                   3400721873472ns elapsed
        cpu_nsec_kernel                 14270503585569ns elapsed
        cpu_nsec_stolen                 0ns elapsed
        cpu_nsec_user                   10374706268624ns elapsed

The sysinfo probes are described in the following table.

Table 11-38 sysinfo Probes

Probe Description

bawrite

Fires whenever a buffer is about to be asynchronously written out to a device.

bread

Fires whenever a buffer is physically read from a device. bread fires after the buffer has been requested from the device, but before blocking pending its completion.

bwrite

Fires whenever a buffer is about to be written out to a device, whether synchronously or asynchronously.

idlethread

Fires whenever a CPU enters the idle loop.

intrblk

Fires whenever an interrupt thread blocks.

inv_swtch

Fires whenever a running thread is forced to involuntarily give up the CPU.

lread

Fires whenever a buffer is logically read from a device.

lwrite

Fires whenever a buffer is logically written to a device.

modload

Fires whenever a kernel module is loaded.

modunload

Fires whenever a kernel module is unloaded.

msg

Fires whenever a msgsnd or msgrcv system call is made, but before the message queue operations are performed.

mutex_adenters

Fires whenever an attempt is made to acquire an owned adaptive lock. If this probe fires, one of the lockstat provider's adaptive-block or adaptive-spin probes will also fire. For more information, see lockstat Stability.

namei

Fires whenever a name lookup is attempted in the filesystem.

nthreads

Fires whenever a thread is created.

phread

Fires whenever a raw I/O read is about to be performed.

phwrite

Fires whenever a raw I/O write is about to be performed.

procovf

Fires whenever a new process cannot be created because the system is out of process table entries.

pswitch

Fires whenever a CPU switches from executing one thread to executing another.

readch

Fires after each successful read, but before control is returned to the thread performing the read. A read may occur through the read, readv, or pread system calls. arg0 contains the number of bytes that were successfully read.

rw_rdfails

Fires whenever an attempt is made to read-lock a readers/writer when the lock is either held by a writer, or desired by a writer. If this probe fires, the lockstat provider's rw-block probe will also fire. For more information, see lockstat Stability.

rw_wrfails

Fires whenever an attempt is made to write-lock a readers/writer lock when the lock is held either by some number of readers or by another writer. If this probe fires, the lockstat provider's rw-block probe will also fire. For more information, see lockstat Stability.

sema

Fires whenever a semop system call is made, but before any semaphore operations have been performed.

sysexec

Fires whenever an exec system call is made.

sysfork

Fires whenever a fork system call is made.

sysread

Fires whenever a read, readv, or pread system call is made.

sysvfork

Fires whenever a vfork system call is made.

syswrite

Fires whenever a write, writev, or pwrite system call is made.

trap

Fires whenever a processor trap occurs. Note that some processors, in particular UltraSPARC variants, handle some light-weight traps through a mechanism that does not cause this probe to fire.

ufsdirblk

Fires whenever a directory block is read from the UFS file system. For more information, see the ufs(4FS) man page.

ufsiget

Fires whenever an inode is retrieved.

ufsinopage.

Fires after an in-core inode without any associated data pages has been made available for reuse.

ufsipage

Fires after an in-core inode with associated data pages has been made available for reuse. This probe fires after the associated data pages have been flushed to disk.

wait_ticks_io

Fires when the periodic system clock has made the determination that a CPU is otherwise idle but some threads are waiting for I/O on the CPU. This probe fires in the context of the system clock and therefore fires on the CPU running the system clock. The cpu_t argument (arg2) indicates the CPU that is described as waiting for I/O. For more information about arg2, see sysinfo Probe Arguments. wait_ticks_io exists solely for historical reasons.

writech

Fires after each successful write, but before control is returned to the thread performing the write. A write may occur through the write, writev, or pwrite system calls. arg0 contains the number of bytes that were successfully written.

xcalls

Fires whenever a cross-call is about to be made. A cross-call is the operating system's mechanism for one CPU to request immediate work of another CPU.