pm_get_program_group Subroutine

Purpose

Retrieves the Performance Monitor settings for the counting group to which a target thread belongs.

Library

Performance Monitor APIs Library (libpmapi.a)

Syntax

#include <pmapi.h>

int pm_get_program_group ( pid,  tid,  *prog)
pid_t pid;
tid_t tid;
pm_prog_t *prog;

Description

This subroutine supports only the 1:1 threading model. It has been superseded by the pm_get_program_pgroup subroutine, which supports both the 1:1 and the M:N threading models. A call to this subroutine is equivalent to a call to the pm_get_program_pgroup subroutine with a ptid parameter equal to 0.

The pm_get_program_group subroutine retrieves the Performance Monitor settings for the counting group to which a target kernel thread belongs. The thread must be stopped and must be part of a debuggee process under the control of the calling process. This includes mode information and the events being counted, which are in a list of event identifiers. The identifiers come from the lists returned by the pm_init subroutine.

The counting mode includes the user mode and kernel mode, and the current counting state.

If the list includes an event which can be used with a threshold (as indicated by the pm_init subroutine), a threshold value is also returned.

Parameters

Item Description
pid Process identifier of target thread. The target process must be an argument of a debug process.
tid Thread identifier of the target thread.
*prog Returns which Performance Monitor events and modes are set. Supported modes are:
PM_USER
Counting process running in user mode
PM_KERNEL
Counting process running kernel mode
PM_COUNT
Counting is on
PM_PROCESS
Process level counting group

Return Values

Item Description
0 No errors occurred.
Positive error code Refer to the pm_error Subroutine to decode the error code.

Error Codes

Refer to the pm_error Subroutine.

Files

Item Description
/usr/include/pmapi.h Defines standard macros, data types, and subroutines.