30.01.2013 Views

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

TotalView Users Guide - CI Wiki

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Setting Group Focus<br />

Setting Group Focus<br />

<strong>TotalView</strong> has two types of groups: process groups and thread groups. Process<br />

groups only contain processes, and thread groups only contain<br />

threads. The threads in a thread group can be drawn from more than one<br />

process.<br />

Topics in this section are:<br />

� “Specifying Groups in P/T Sets” on page 263<br />

� “About Arena Specifier Combinations” on page 264<br />

� “‘All’ Does Not Always Mean ‘All’” on page 267<br />

� “Setting Groups” on page 268<br />

� “Using the g Specifier: An Extended Example” on page 269<br />

� “Merging Focuses” on page 271<br />

� “Naming Incomplete Arenas” on page 272<br />

� “Naming Lists with Inconsistent Widths” on page 273<br />

<strong>TotalView</strong> has four predefined groups. Two of these only contain processes,<br />

while the other two only contain threads. <strong>TotalView</strong> also lets you create<br />

your own groups, and these groups can have elements that are processes<br />

and threads. The following are the predefined process groups:<br />

� Control Group<br />

Contains the parent process and all related processes. A control group<br />

includes children that were forked (processes that share the same source<br />

code as the parent) and children that were forked but subsequently called<br />

the execve() function.<br />

Assigning a new value to the CGROUP (dpid) variable for a process<br />

changes that process’s control group. In addition, the dgroups –add command<br />

lets you add members to a group in the CLI. In the GUI, you use the<br />

Group > Custom Groups command.<br />

� Share Group<br />

Contains all members of a control group that share the same executable.<br />

<strong>TotalView</strong> automatically places processes in share groups based on their<br />

control group and their executable.<br />

You can’t change a share group’s members. However, the dynamically loaded libraries<br />

used by group members can be different.<br />

The following are the predefined thread groups:<br />

� Workers Group<br />

Contains all worker threads from all processes in the control group. The<br />

only threads not contained in a worker’s group are your operating system’s<br />

manager threads.<br />

262 Chapter 13: Using Groups, Processes, and Threads

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!