PERFMONCTL

Section: Linux Programmer's Manual (2)
Updated: 2017-09-15
Index JM Home Page
 

名前

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/ に書かれている。

関連キーワード

pfarg   監視   レジスター   コンテキスト   perfmon   インターフェース   performance   monitoring   操作   perfmonctl   性能   ユニット   ラッパー   固有   提供   通知   スレッド   syscall   unit   control   構成   ハードウェア   統計   収集   規定

Linux マニュアル 一覧

関連するコマンド・関数

getcontext.3   setcontext.3   runcon.1   chcon.1   spu_create.2   msr.4
 

Index

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

This document was created by man2html, using the manual pages.
Time: 04:39:01 GMT, October 11, 2026