Man page - perfmonctl(2)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

PERFMONCTL

名 前
書 式
説 明
返 り 値
バ ー ジ ョ ン
準 拠
注 意
関 連 項 目
こ の 文 書 に つ い て

名 前

perfmonctl - IA-64 の PMU (性 能 監 視 ユ ニ ッ ト ) の イ ン タ ー フ ェ ー ス

書 式

#include <syscall.h>
#include <perfmon.h>

long perfmonctl(int fd , int cmd , void * arg , int narg );
: こ の シ ス テ ム コ ー ル に は glibc の ラ ッ パ ー 関 数 は 存 在 し な い 。 「 注 意 」 の 節 を 参 照 。

説 明

IA-64 固 有 の perfmonctl () シ ス テ ム コ ー ル は PMU (性 能 監 視 ユ ニ ッ ト ; performance monitoring unit) へ の イ ン タ ー フ ェ ー ス を 提 供 す る 。 PMU は PMD (performance monitoring data) レ ジ ス タ ー と PMC (performance monitoring control) レ ジ ス タ ー で 構 成 さ れ 、 ハ ー ド ウ ェ ア の 統 計 を 収 集 す る 。

perfmonctl () は 、 操 作 cmd arg で 指 定 さ れ た 入 力 引 数 で 行 う 。 引 数 の 数 は narg で 規 定 さ れ る 。 fd 引 数 は 操 作 対 象 の perfmon コ ン テ キ ス ト を 指 定 す る 。

cmd に 指 定 で き る 値 は 以 下 の と お り で あ る 。
PFM_CREATE_CONTEXT

perfmonctl(int fd , PFM_CREATE_CONTEXT, pfarg_context_t * ctxt , 1);
コ ン テ キ ス ト を 用 意 す る 。

fd 引 数 は 無 視 さ れ る 。 新 し い perfmon コ ン テ キ ス ト を ctxt で 指 定 し た 内 容 で 作 成 し 、 そ の フ ァ イ ル デ ィ ス ク リ プ タ ー を ctxt->ctx_fd で 返 す 。

フ ァ イ ル デ ィ ス ク リ プ タ ー は そ れ 以 降 の perfmonctl () の 呼 び 出 し で 使 用 し た り 、 read (2) を 使 っ て イ ベ ン ト 通 知 ( pfm_msg_t 型 ) を 読 み 出 し た り す る の に 使 用 で き る 。 こ の フ ァ イ ル デ ィ ス ク リ プ タ ー は select (2), poll (2), epoll (7) で 状 態 監 視 (ポ ー リ ン グ ) す る こ と が で き る 。

コ ン テ キ ス ト を 破 棄 す る に は 、 そ の フ ァ イ ル デ ィ ス ク リ プ タ ー に 対 し て close (2) を 呼 び 出 す 。

PFM_WRITE_PMCS

perfmonctl(int fd , PFM_WRITE_PMCS, pfarg_reg_t * pmcs , n);
PMC レ ジ ス タ ー を 設 定 す る 。

PFM_WRITE_PMDS

perfmonctl(int fd , PFM_WRITE_PMDS, pfarg_reg_t * pmds , n);
PMD レ ジ ス タ ー を 設 定 す る 。

PFM_READ_PMDS

perfmonctl(int fd , PFM_READ_PMDS, pfarg_reg_t * pmds , n);
PMD レ ジ ス タ ー を 読 み 出 す 。

PFM_START

perfmonctl(int fd , PFM_START, NULL, 0);
監 視 を 開 始 す る 。

PFM_STOP

perfmonctl(int fd , PFM_STOP, NULL, 0);
監 視 を 停 止 す る 。

PFM_LOAD_CONTEXT

perfmonctl(int fd , PFM_LOAD_CONTEXT, pfarg_load_t * largs , 1);
指 定 し た コ ン テ キ ス ト を ス レ ッ ド に 接 続 す る 。

PFM_UNLOAD_CONTEXT

perfmonctl(int fd , PFM_UNLOAD_CONTEXT, NULL, 0);
指 定 し た コ ン テ キ ス ト を ス レ ッ ド が 切 り 離 す 。

PFM_RESTART

perfmonctl(int fd , PFM_RESTART, NULL, 0);
オ ー バ ー フ ロ ー 通 知 を 受 信 し た 後 、 監 視 を 再 開 す る 。

PFM_GET_FEATURES

perfmonctl(int fd , PFM_GET_FEATURES, pfarg_features_t * arg , 1);

PFM_DEBUG

perfmonctl(int fd , PFM_DEBUG, val , 0);
val
が 0 以 外 の 場 合 、 デ バ ッ グ モ ー ド を 有 効 に す る 。 そ う で な い 場 合 、 無 効 に す る 。

PFM_GET_PMC_RESET_VAL

perfmonctl(int fd , PFM_GET_PMC_RESET_VAL, pfarg_reg_t * req , n);
PMC レ ジ ス タ ー を デ フ ォ ル ト 値 に リ セ ッ ト す る 。

返 り 値

perfmonctl () は 操 作 が 成 功 す る と 0 を 返 す 。 エ ラ ー の 場 合 、 -1 が 返 り 、 errno に エ ラ ー の 原 因 を 示 す 値 が 設 定 さ れ る 。

バ ー ジ ョ ン

perfmonctl () は Linux 2.4 以 降 で 利 用 可 能 で あ る 。

準 拠

perfmonctl () は Linux 固 有 で 、 IA-64 ア ー キ テ ク チ ャ ー で の み 利 用 で き る 。

注 意

glibc は こ の シ ス テ ム コ ー ル に 対 す る ラ ッ パ ー 関 数 を 提 供 し て い な い 。 syscall (2) を 使 っ て 呼 び 出 す こ と 。

関 連 項 目

gprof (1)

perfmon2 イ ン タ ー フ ェ ー ス 仕 様

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man-pages プ ロ ジ ェ ク ト の リ リ ー ス 5.10 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は https://www.kernel.org/doc/man-pages/ に 書 か れ て い る 。