pm_set_program_pgroup サブルーチン

目的

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

ライブラリー

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

構文

#include <pmapi.h>  

int pm_set_program_pgroup ( pid,  tid,  ptid,  *prog)
pid_t pid;
tid_t tid;
ptid_t ptid;
pm_prog_t *prog;

説明

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

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

pthread が 1: 1 モードで実行されている場合は、 tid パラメーターのみを指定する必要があります。 pthread が m: n モードで実行されている場合は、 ptid パラメーターのみを指定する必要があります。 ptid パラメーターと tid パラメーターの両方が指定されている場合、それらは ptid パラメーターが指定された単一の pthread を参照し、指定された tid パラメーターを持つカーネル・スレッド上で現在実行されている必要があります。

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

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

パラメーター

項目 説明
pid ターゲット pthread のプロセス ID。 ターゲット・プロセスは、呼び出し元プロセスのデバッグ対象でなければなりません。
tid ターゲット pthread のスレッド ID。 このパラメーターを無視するには、0 に設定します。
ptid ターゲット pthread の Pthread ID。 このパラメーターを無視するには、0 に設定します。
プログラム (* prog) パフォーマンス・モニターのセットアップで使用するイベント・モードを指定します。 以下のタイプがサポートされています:
PMUSER (PM_USER)
ユーザー・モードで実行されているプロセスをカウントします (デフォルトはオフに設定されています)
PM_カーネル
カーネル・モードで実行されているプロセスをカウントします (デフォルトは「オフ」に設定されています)
PMCOUNT (PM_COUNT)
即時にカウントを開始します (デフォルトは「カウントを開始しない」に設定されています)
PM_PROCESS (プロセス)
プロセス・レベルのカウント・グループを作成します。

戻り値

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

エラー・コード

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

ファイル

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