proc Provider

Version 2 by jon_haslam
on Nov 22, 2007 10:32.

compared with
Current by brendan.gregg
on Dec 30, 2007 17:00.

Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (9)

View page history
{warning:title=Warning}This page is under construction - do not use!{warning}
{anchor:top}
h1. {anchor:CHP-PROC} {{proc}} Provider
[Top|#top]
h2. {anchor:GELRH} Probes
The {{proc}} probes are described in [Table 25–1|#tbl-proc]. 25–1|#TBL-PROC].
h6. {anchor:TBL-PROC} {{proc}} Probes
||Probe||Description||
[Top|#top]
h2. {anchor:GELSE} Arguments
The argument types for the {{proc}} probes are listed in [Table 25–2|#tbl-proc-args]. 25–2|#TBL-PROC-ARGS]. The arguments are described in [Table 25–1|#tbl-proc]. 25–1|#TBL-PROC].
h6. {anchor:TBL-PROC-ARGS} {{proc}} Probe Arguments
||Probe||{{args\[0\]}}||{{args\[1\]}}||{{args\[2\]}}||
} lwpsinfo_t;
{noformat}
The {{pr_flag}} field is a bit-mask holding flags describing the process. These flags and their meanings are described in [Table 25–3|#tbl-sched-flags]. 25–3|#TBL-SCHED-FLAGS].
h6. {anchor:TBL-SCHED-FLAGS} {{pr_flag}} Values
|{{PR_ISSYS}}|The process is a system process.|
The {{pr_addr}} field is the address of a private, in-kernel data structure representing the thread. While the data structure is private, the {{pr_addr}} field may be used as a token unique to a thread for the thread's lifetime.\\
\\The {{pr_wchan}} field is set when the thread is sleeping on a synchronization object. The meaning of the {{pr_wchan}} field is private to the kernel implementation, but the field may be used as a token unique to the synchronization object.\\
\\The {{pr_stype}} field is set when the thread is sleeping on a synchronization object. The possible values for the {{pr_stype}} field are in [Table 25–4|#tbl-sched-sobj]. 25–4|#TBL-SCHED-SOBJ].
h6. {anchor:TBL-SCHED-SOBJ} {{pr_stype}} Values
|{{SOBJ_MUTEX}}|Kernel mutex synchronization object. Used to serialize access to shared data regions in the kernel. See [Chapter 18, lockstat Provider FIX|Title] Provider|lockstat Provider] and [{{mutex_init}}(9F)|http://docs.sun.com/doc/819-2256/mutex-init-9f?a=view] for details on kernel mutex synchronization objects.|
|{{SOBJ_RWLOCK}}|Kernel readers/writer synchronization object. Used to synchronize access to shared objects in the kernel that can allow multiple concurrent readers or a single writer. See [Chapter 18, lockstat Provider FIX|Title] Provider|lockstat Provider] and [{{rwlock}}(9F)|http://docs.sun.com/doc/819-2256/rwlock-9f?a=view] for details on kernel readers/writer synchronization objects.|
|{{SOBJ_CV}}|Condition variable synchronization object. A condition variable is designed to wait indefinitely until some condition becomes true. Condition variables are typically used to synchronize for reasons other than access to a shared data region, and are the mechanism generally used when a process performs a program-directed indefinite wait. For example, blocking in [{{poll}}(2)|http://docs.sun.com/doc/819-2241/poll-2?a=view], [{{pause}}(2)|http://docs.sun.com/doc/819-2241/pause-2?a=view], [{{wait}}(3C)|http://docs.sun.com/doc/819-2243/wait-3c?a=view], and the like.|
|{{SOBJ_SEMA}}|Semaphore synchronization object. A general-purpose synchronization object that – like condition variable objects – does not track a notion of ownership. Because ownership is required to implement priority inheritance in the Solaris kernel, the lack of ownership inherent in semaphore objects inhibits their widespread use. See [{{semaphore}}(9F)|http://docs.sun.com/doc/819-2256/semaphore-9f?a=view] for details.|
|{{SOBJ_USER_PI}}|A user-level synchronization object that implements priority inheritance. Some user-level synchronization objects that track ownership additionally allow for priority inheritance. For example, mutex objects created with [{{pthread_mutex_init}}(3C)|http://docs.sun.com/doc/819-2243/pthread-mutex-init-3c?a=view] may be made to inherit priority using [{{pthread_mutexattr_setprotocol}}(3C)|http://docs.sun.com/doc/819-2243/pthread-mutexattr-setprotocol-3c?a=view].|
|{{SOBJ_SHUTTLE}}|A shuttle synchronization object. Shuttle objects are used to implement doors. See door_create(3DOOR) for more information.|
The {{pr_state}} field is set to one of the values in [Table 25–5|#tbl-sched-state]. 25–5|#TBL-SCHED-STATE]. The {{pr_sname}} field is set to a corresponding character shown in parentheses in the same table.
h6. {anchor:TBL-SCHED-STATE} {{pr_state}} Values
|{{SSLEEP}} ({{S}})|The thread is sleeping. The {{sched:::sleep}} probe will fire immediately before a thread's state is transitioned to {{SSLEEP}}.|
[Top|#top]
h2. {anchor:CHP-PROC-STABILITY} Stability
The {{proc}} provider uses DTrace's stability mechanism to describe its stabilities, as shown in the following table. For more information about the stability mechanism, see [Chapter 39, Stability FIX|Title]. Stability|Stability].
||Element||Name stability||Data stability||Dependency class||
|Provider|Evolving|Evolving|ISA|

The individuals who post here are part of the extended Sun Microsystems community and they might not be employed or in any way formally affiliated with Sun Microsystems. The opinions expressed here are their own, are not necessarily reviewed in advance by anyone but the individual authors, and neither Sun nor any other party necessarily agrees with them.

Copyright 1994-2009 Sun Microsystems, Inc.
Powered by Atlassian Confluence
Sun Guidelines on Public Discourse Privacy Policy Terms of Use Trademarks Site Map Employment Investor Relations Contact