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.

  • You can name one of TotalView's predefined sets. These sets are identified by letters. For example, the following command sets the focus to the workers group:

    dfocus W

  • You can identify a group by its number. For example, here is how you set the focus to group 3:

    dfocus 3/

    Notice the trailing slash. This slash lets the CLI know that you are specifying a group number instead of a PID. In contrast, here is an example that names process 3 within group 3:

    dfocus 3/3

  • As you can also create named sets, you must surround these set names with slashes. For example, here is how you would use the my_group set of threads within process 3:

    dfocus p/my_group/3

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.

 
 
 
 
support@etnus.com
Copyright © 2001, Etnus, LLC. All rights reserved.
Version 5.0