EN JA
PMC_READ(3)
PMC_READ(3) FreeBSD Library Functions Manual PMC_READ(3)

名称

pmc_read, pmc_rw, pmc_write, — ハードウェア性能カウンタを読み書きする

ライブラリ

Performance Counters Library (libpmc, -lpmc)

書式

#include < pmc.h>

int
pmc_read( pmc_id_t pmc, pmc_value_t *value);

int
pmc_rw( pmc_id_t pmc, pmc_value_t newvalue, pmc_value_t *oldvaluep);

int
pmc_write( pmc_id_t pmc, pmc_value_t value);

解説

これらの関数は、PMC の現在の値を読み書きします。

関数 pmc_read() は、引数 pmc によって指定された現在の値を読み込み、引数 value によって指定された位置にそれを書き込みます。

関数 pmc_write() は、引数 pmc によって指定された PMC の現在の値を引数 value によって指定された値に設定します。

関数 pmc_rw() は、読み込みと書き込みを単一の不可分な操作に結合します。

書き込み操作のために、PMC は、休止状態になるべきです。

戻り値

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

これらの関数への呼び出しは、次のエラーで失敗します:
[ EBUSY]
現在実行している PMC を指定した書き込み操作。
[ EINVAL]
引数 pmc は、読み込み可能でない PMC を指定しました。
[ EINVAL]
引数 pmc によって指定された PMC が、現在のプロセスによって所有されていませんでした。

関連項目

pmc(3), hwpmc(4)
November 25, 2007 FreeBSD