pm_set_program_thread サブルーチン

目的

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

ライブラリー

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

構文

#include <pmapi.h>  

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

説明

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

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

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

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

パラメーター

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

戻り値

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

エラー・コード

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

ファイル

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