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

名称

pmc_disable, pmc_enableハードウェア性能カウンタの管理上の制御

ライブラリ

Performance Counters Library (libpmc, -lpmc)

書式

#include < pmc.h>

int
pmc_disable( int cpu, int pmc);

int
pmc_enable( int cpu, int pmc);

解説

これらの関数によって、システムの特定のハードウェア性能モニタのカウンタを管理上無効にしたり、有効にしたりできます。各 CPU で利用可能なハードウェア性能カウンタは、システム依存の方法で、小さな負でない整数を使用して番号付けられます。無効にされたカウンタは、使用するアプリケーションで利用可能となりません。

呼び出しプロセスは、これらの操作を実行するために PRIV_PMC_MANAGE 特権を必要とします。

関数 pmc_disable() は、CPU 番号 cpu で引数 pmc によって番号付けられたハードウェアカウンタを無効にします。

関数 pmc_enable() は、CPU 番号 cpu で引数 pmc によって番号付けられたハードウェアカウンタを有効にします。

実装に関する注

現在アプリケーションで使用中のハードウェア PMC を無効にすることができません。プロセススコープソフトウェアの割り付けは、使用中の同じ pmc 番号があるシステムで、すべてのハードウェア 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_disable() で指定した、ハードウェア PMC が、現在、使用中です。
[ EINVAL]
引数 cpu または pmc が無効でした。
[ ENXIO]
引数 cpu が、無効にされた CPU または、不足している CPU を指定しました。
[ EPERM]
現在のプロセスが、この操作を実行できる十分な特権が不足しています。
September 22, 2008 FreeBSD