Specifying Groups in P/T Sets
The arena syntax that has so far been presented does not let you change the focus to a different group. This section shows how to add group specifiers when setting a focus.
If you do not include a group specifier, the default is the control group. The CLI only displays a target group in the focus string if you set it to something other than the default value.
Note: Target group specifiers are most often used with the single-step commands as they give these commands more control over what is being stepped.
Here is how you add groups to the way you specify arenas:
[width_letter][group_indicator][PID][.PID]
This format adds the group_indicator to the previously discussed syntax. There are actually several different ways for specifying a group.
In the formal description of this syntax, everything appears to be optional. While no single element is required, you must enter at least one element. TotalView will determine other values based on the current focus. When you specify a group, you can use either a group_letter, a group_number, or a group_name.
The group_number is a value that TotalView assigns to the group.
The slash character is optional if you are using a group_letter. However, you must use it as a separator when entering a numeric group ID and a pid.tid pair. For example, the following entry indicates process 2 in group 3:
p3/2
If you have created your own group, you need to place the name of this group within slash characters. For example, here is how you would indicate the set of threads within process 2 that are also within a named group:
p/my_group/2
The group_letter can be:
C
Control group
All processes in the control group.
D
Default control group
All processes in the control group. The only difference between this specifier and the C specifier is that D tells the CLI that it should not display a group letter within the CLI prompt.
S
Share group
The set of processes in the control group that have the same executable as the arena's thread of interest.
W
Workers group
The set of all worker threads in the control group.
L
Lockstep group
A set containing all threads in the share group that have the same PC as the arena's thread of interest. If these threads are stepped as a group, they will proceed in lockstep.
The group letter is always in uppercase.
On some systems, TotalView cannot distinguish manager threads from user threads, so manager threads might be included by mistake. This means that you may need to remove these manager threads from workers groups by using the dgroups -remove or dworker commands.