pm_set_program_group サブルーチン

目的

ターゲット・スレッドのパフォーマンス・モニター・プログラムを設定し、カウント・グループを作成します。

ライブラリー

パフォーマンス・モニター API ライブラリー (libpmapi.a)

構文

#include <pmapi.h>

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

説明

このサブルーチンは、1: 1 スレッド化モデルのみをサポートします。 これは、1: 1 と M: N の両方のスレッド化モデルをサポートする pm_set_program_pgroup サブルーチンに置き換えられました。 このサブルーチンへの呼び出しは、 PTID パラメーターが 0 に等しい pm_set_program_pgroup サブルーチンへの呼び出しと同等です。

pm_set_program_group サブルーチンは、ターゲット・カーネル・スレッドのパフォーマンス・モニター・プログラムを設定します。 スレッドは停止する必要があり、呼び出しプロセスの制御下でデバッグ対象プロセスの一部でなければなりません。 この設定には、カウントされるイベントとカウントされるモードが含まれます。 カウントするイベントは、イベント ID のリストにあります。 ID は、 pm_init サブルーチンによって戻されるリストから選択する必要があります。

この呼び出しにより、カウント・グループも作成されます。このグループには、ターゲット・スレッドと、そのスレッドまたはその子孫が将来作成するすべてのスレッドが含まれます。 オプションで、ターゲット・プロセスに属するすべての既存および将来のスレッドを含むものとして、グループを定義することもできます。

カウント・モードには、ユーザー・モードまたはカーネル・モード (あるいはその両方)、および初期カウント状態が含まれます。 デフォルトは、ユーザー・モードおよびカーネル・モードの場合はオフに設定され、初期デフォルト状態は、 pm_start_group サブルーチンが呼び出されるまでカウントを遅らせるように設定されます。

しきい値 ( pm_init サブルーチンによって示される) で使用できるイベントがリストに含まれている場合は、しきい値も指定できます。

パラメーター

項目 説明
pid ターゲット・スレッドのプロセス ID。 ターゲット・プロセスは、呼び出しプロセスのデバッグ対象でなければなりません。
tid ターゲット・スレッドのスレッド ID。
プログラム (* prog)
PMUSER (PM_USER)
ユーザー・モードで実行されているプロセスをカウントします (デフォルトはオフに設定されています)
PM_カーネル
カーネル・モードで実行されているプロセスをカウントします (デフォルトは「オフ」に設定されています)
PMCOUNT (PM_COUNT)
即時にカウントを開始します (デフォルトは「カウントを開始しない」に設定されています)
PM_PROCESS (プロセス)
プロセス・レベルのカウント・グループを作成します。

戻り値

項目 説明
0 操作は正常に完了しました。
Positive error code エラー・コードをデコードするには、 pm_error サブルーチン を参照してください。

エラー・コード

pm_error サブルーチンを参照してください。

ファイル

項目 説明
/usr/include/pmapi.h 標準マクロ、データ・タイプ、およびサブルーチンを定義します。