| |
change-pri
| Probe that fires whenever a thread's priority is about to be changed.
The lwpsinfo_t of the thread is pointed to by args[0]. The thread's current priority is in the pr_pri field
of this structure. The psinfo_t of the process containing
the thread is pointed to by args[1]. The thread's new priority
is contained in args[2].
|
cpucaps-sleep
| Probe that fires immediately before the current thread is placed on
a wait queue. The lwpsinfo_t of the waiting thread is pointed
to by args[0]. The psinfo_t of the process
containing the waiting thread is pointed to by args[1].
|
cpucaps-wakeup
| Probe that fires immediately after a thread is removed from a wait queue.
The lwpsinfo_t of the waiting thread is pointed to by args[0]. The psinfo_t of the process containing
the waiting thread is pointed to by args[1].
|
dequeue
| Probe that fires immediately before a runnable thread is dequeued from
a run queue. The lwpsinfo_t of the thread being dequeued
is pointed to by args[0]. The psinfo_t of
the process containing the thread is pointed to by args[1].
The cpuinfo_t of the CPU from which the thread is being
dequeued is pointed to by args[2]. If the thread is being
dequeued from a run queue that is not associated with a particular CPU, the cpu_id member of this structure will be -1.
|
enqueue
| Probe that fires immediately before a runnable thread is enqueued to
a run queue. The lwpsinfo_t of the thread being enqueued
is pointed to by args[0]. The psinfo_t of
the process containing the thread is pointed to by args[1].
The cpuinfo_t of the CPU to which the thread is being enqueued
is pointed to by args[2]. If the thread is being enqueued
from a run queue that is not associated with a particular CPU, the cpu_id member of this structure will be -1. The value in args[3] is
a boolean indicating whether the thread will be enqueued to the front of the
run queue. The value is non-zero if the thread will be enqueued at the front
of the run queue, and zero if the thread will be enqueued at the back of the
run queue.
|
off-cpu
| Probe that fires when the current CPU is about to end execution of a
thread. The curcpu variable indicates the current CPU.
The curlwpsinfo variable indicates the thread that is ending
execution. The curpsinfo variable describes the process
containing the current thread. The lwpsinfo_t structure
of the thread that the current CPU will next execute is pointed to by args[0]. The psinfo_t of the process containing the
next thread is pointed to by args[1].
|
on-cpu
| Probe that fires when a CPU has just begun execution of a thread. The curcpu variable indicates the current CPU. The curlwpsinfo variable
indicates the thread that is beginning execution. The curpsinfo variable
describes the process containing the current thread.
|
preempt
| Probe that fires immediately before the current thread is preempted.
After this probe fires, the current thread will select a thread to run and
the off-cpu probe will fire for the current thread. In
some cases, a thread on one CPU will be preempted, but the preempting thread
will run on another CPU in the meantime. In this situation, the preempt probe
will fire, but the dispatcher will be unable to find a higher priority thread
to run and the remain-cpu probe will fire instead of the off-cpu probe.
|
remain-cpu
| Probe that fires when a scheduling decision has been made, but the dispatcher
has elected to continue to run the current thread. The curcpu variable
indicates the current CPU. The curlwpsinfo variable indicates
the thread that is beginning execution. The curpsinfo variable
describes the process containing the current thread.
|
schedctl-nopreempt
| Probe that fires when a thread is preempted and then re-enqueued at
the front of the run queue due to a preemption control request. See schedctl_init(3C) for details on preemption control. As with preempt, either off-cpu or remain-cpu will fire after schedctl-nopreempt. Because schedctl-nopreempt denotes a re-enqueuing
of the current thread at the front of the run queue, remain-cpu is
more likely to fire after schedctl-nopreempt than off-cpu. The lwpsinfo_t of the thread being preempted
is pointed to by args[0]. The psinfo_t of
the process containing the thread is pointed to by args[1].
|
schedctl-preempt
| Probe that fires when a thread that is using preemption control is nonetheless
preempted and re-enqueued at the back of the run queue. See schedctl_init(3C) for details on preemption control. As with preempt, either off-cpu or remain-cpu will fire after schedctl-preempt. Like preempt (and unlike schedctl-nopreempt), schedctl-preempt denotes a re-enqueuing of the current thread at
the back of the run queue. As a result, off-cpu is more
likely to fire after schedctl-preempt than remain-cpu. The lwpsinfo_t of the thread being preempted
is pointed to by args[0]. The psinfo_t of
the process containing the thread is pointed to by args[1].
|
schedctl-yield
| Probe that fires when a thread that had preemption control enabled and
its time slice artificially extended executed code to yield the CPU to other
threads.
|
sleep
| Probe that fires immediately before the current thread sleeps on a synchronization
object. The type of the synchronization object is contained in the pr_stype member of the lwpsinfo_t pointed to by curlwpsinfo. The address of the synchronization object is contained in the pr_wchan member of the lwpsinfo_t pointed to
by curlwpsinfo. The meaning of this address is a private
implementation detail, but the address value may be treated as a token unique
to the synchronization object.
|
surrender
| Probe that fires when a CPU has been instructed by another CPU to make
a scheduling decision — often because a higher-priority thread has become
runnable.
|
tick
| Probe that fires as a part of clock tick-based accounting. In clock
tick-based accounting, CPU accounting is performed by examining which threads
and processes are running when a fixed-interval interrupt fires. The lwpsinfo_t that corresponds to the thread that is being assigned CPU time
is pointed to by args[0]. The psinfo_t that
corresponds to the process that contains the thread is pointed to by args[1].
|
wakeup
| Probe that fires immediately before the current thread wakes a thread
sleeping on a synchronization object. The lwpsinfo_t of
the sleeping thread is pointed to by args[0]. The psinfo_t of the process containing the sleeping thread is pointed to by args[1]. The type of the synchronization object is contained in
the pr_stype member of the lwpsinfo_t of
the sleeping thread. The address of the synchronization object is contained
in the pr_wchan member of the lwpsinfo_t of
the sleeping thread. The meaning of this address is a private implementation
detail, but the address value may be treated as a token unique to the synchronization
object.
|