PMC.IAF(3) | FreeBSD Library Functions Manual | PMC.IAF(3) |
名称
pmc.iaf — Intel 固定関数性能カウンタのためのイベントの測定ライブラリ
Performance Counters Library (libpmc, -lpmc)書式
#include < pmc.h>解説
Intel 固定関数 PMC は、 Intel Performance Measurement Architecture のバージョン 2 以降に準拠している CPU に存在しています。各固定関数 PMC は、特定のハードウェアイベントを測定します。 CPU で実装された固定関数 PMC の数は、異なります。関数 pmc_cpuinfo(3) を使用することによって、実行時に存在する固定関数 PMC の数を決定することができます。Intel 固定関数 PMC は、次に文書化されています。 IA-32 Intel(R) Architecture Software Developer's Manual, Volume 3: System Programming Guide, Order Number 253669-027US, Intel Corporation, July 2008.
PMC ケーパビリティ
固定関数 PMC は、次のケーパビリティをサポートしています:Capability | Support |
PMC_CAP_CASCADE | No |
PMC_CAP_EDGE | No |
PMC_CAP_INTERRUPT | Yes |
PMC_CAP_INVERT | No |
PMC_CAP_READ | Yes |
PMC_CAP_PRECISE | No |
PMC_CAP_SYSTEM | Yes |
PMC_CAP_TAGGING | No |
PMC_CAP_THRESHOLD | No |
PMC_CAP_USER | Yes |
PMC_CAP_WRITE | Yes |
クラス名接頭辞
これらの PMC は、“iaf-
”のクラス名接頭辞を使用して名前がつけられます。
イベント修飾子 (固定関数 PMC)
これらの PMC は、次の修飾子をサポートします:-
os
- リングレベル 0 で起こるイベントをカウントするために PMC を設定します。
-
usr
- リングレベル 1、2 または 3 で起こるイベントをカウントするために PMC を設定します。
-
anythread
- (Atom CPUs) プロセッサコアを共有するすべての論理的なプロセッサでイベントをカウントするために、PMC を設定します。デフォルトは、現在の論理的なプロセッサでイベントをカウントすることです。
“ os
”または“ usr
”修飾子のいずれも指定されていないなら、デフォルトは、両方を有効にすることです。
イベント指定子 (固定関数 PMC)
固定関数 PMC は、次のイベント名を使用して選択可能です:-
INSTR_RETIRED.ANY
- (固定関数カウンタ 0) リタイアした命令の数。
-
CPU_CLK_UNHALTED.CORE
- (固定関数カウンタ 1) コアが停止されないコアサイクルの数。
-
CPU_CLK_UNHALTED.REF
- (固定関数カウンタ 2) コアが停止されない参照サイクルの数。
使用例
コアが halt されなかったコアサイクルの数を測定するには、イベント記述子“iaf-cpu-clk-unhalted.core”を使用します。リタイアされたユーザ命令の数を測定するには、イベント記述子“iaf-instr-retired.any,usr”を使用します。
Atom CPU のすべての論理的なプロセッサでリタイアされたユーザ命令の数を測定するには、イベント記述子“iaf-instr-retired.any,usr,anythread”を使用します。
関連項目
pmc(3), pmc.atom(3), pmc.core(3), pmc.core2(3), pmc.k7(3), pmc.k8(3), pmc.p4(3), pmc.p5(3), pmc.p6(3), pmc.soft(3), pmc.tsc(3), pmc_cpuinfo(3), pmclog(3), hwpmc(4)歴史
pmc ライブラリは、 FreeBSD 6.0 ではじめて登場しました。作者
Performance Counters Library (libpmc, -lpmc) ライブラリは、 <jkoshy@FreeBSD.org>によって書かれました。November 14, 2008 | FreeBSD |