LIBPFM - Online Linux Manual PageSection : 3
Updated : November, 2003
Source :
Note : Linux Programmer's Manual

NAMEpfm_get_pmu_name, pfm_get_pmu_type, pfm_get_pmu_name_bytype, pfm_pmu_is_supported, pfm_force_pmu,pfm_list_supported_pmu − query library about supported PMU models

SYNOPSIS#include <perfmon/pfmlib.h> int pfm_get_pmu_name(char *name, int maxlen); int pfm_get_pmu_type(int *type); int pfm_get_pmu_name_bytype(int type, char *name, int maxlen); int pfm_pmu_is_supported(int type); int pfm_force_pmu(int type); int pfm_list_supported_pmus(int (*pf)(const char *fmt,...));

DESCRIPTION These functions retrieve information about the detected host PMU and the PMU models supported by the library. More than one model can be supported by the same library. Each PMU model is assigned a type and a name. The latter is just a string and the former is a unique identifier. The currently supported types are: PFMLIB_GENERIC_PMU  Intel Itanium default architected PMU model, i.e., the basic model. PFMLIB_ITANIUM_PMU  Intel Itanium processor PMU model. The model is found in the first implementation of the IA-64 architecture, code name Merced. PFMLIB_ITANIUM2_PMU  Intel Itanium 2 processor PMU model. This is the model provided by McKinley, Madison, and Deerfield processors. PFMLIB_MONTECITO_PMU  Intel Dual-core Itanium 2 processor PMU model. This is the model provided by Montecito, Montvale processors. PFMLIB_AMD64_PMU  AMD AMD64 processors (family 15 and 16) PFMLIB_GEN_IA32_PMU  
 Intel X86 architectural PMU v1, v2, v3
PFMLIB_I386_P6_PMU  Intel P6 processors. That includes Pentium Pro, Pentium II, Pentium III, but excludes Pentium M PFMLIB_I386_PM_PMU  Intel Pentium M processors. PFMLIB_INTEL_PII_PMU  Intel Pentium II processors. PFMLIB_PENTIUM4_PMU  Intel processors based on Netburst micro-architecture. That includes Pentium 4. PFMLIB_COREDUO_PMU  Intel processors based on Yonah micro-architecture. That includes Intel Core Duo/Core Solo processors PFMLIB_I386_PM_PMU  Intel Pentium M processors PFMLIB_INTEL_CORE_PMU  Intel processors based on the Core micro-architecture. That includes Intel Core 2 Duo/Quad processors PFMLIB_INTEL_ATOM_PMU  Intel processors based on the Atom micro-architecture. PFMLIB_INTEL_NHM_PMU  Intel processors based on the Nehalem micro-architectures. That includes Intel Core i7 processors. PFMLIB_MIPS_20KC_PMU  MIPS 20KC processors PFMLIB_MIPS_24K_PMU  MIPS 24K processors PFMLIB_MIPS_25KF_PMU  MIPS 25KF processors PFMLIB_MIPS_34K_PMU  MIPS 34K processors PFMLIB_MIPS_5KC_PMU  MIPS 5KC processors PFMLIB_MIPS_74K_PMU  MIPS 74K processors PFMLIB_MIPS_R10000_PMU  MIPS R10000 processors PFMLIB_MIPS_R12000_PMU  MIPS R12000 processors PFMLIB_MIPS_RM7000_PMU  MIPS RM7000 processors PFMLIB_MIPS_RM9000_PMU  MIPS RM9000 processors PFMLIB_MIPS_SB1_PMU  MIPS SB1/SB1A processors PFMLIB_MIPS_VR5432_PMU  MIPS VR5432 processors PFMLIB_MIPS_VR5500_PMU  MIPS VR5500 processors PFMLIB_MIPS_ICE9A_PMU  SiCortex ICE9A PFMLIB_MIPS_ICE9B_PMU  SiCortex ICE9B PFMLIB_POWERPC_PMU  IBM POWERPC processors PFMLIB_CRAYX2_PMU  Cray X2 processors PFMLIB_CELL_PMU  IBM Cell processors PFMLIB_PPC970_PMU  IBM PowerPC 970(FX,GX) processors PFMLIB_PPC970MP_PMU  IBM PowerPC 970MP processors PFMLIB_POWER3_PMU  IBM POWER3 processors PFMLIB_POWER4_PMU  IBM POWER4 processors PFMLIB_POWER5_PMU  IBM POWER5 processors PFMLIB_POWER5p_PMU  BM POWER5+ processors PFMLIB_POWER6_PMU  IBM POWER6 processors The pfm_get_pmu_name() function returns the name of the detected host PMU. The library must have been initialized properly before making this call. The name is returned in the name argument. The maxlen argument indicates the maximum length of the buffer provided for name. Up to maxlen-1 characters will be returned, not including the termination character. The pfm_get_pmu_type() function returns the type of the detected host PMU. The library must have been initialized properly before making this call. The type returned in type can be any one of the three listed above. The pfm_get_pmu_name_bytype() function returns the name of a PMU model in name given a type in the type argument. The maxlen argument indicates the maximum length of the buffer provided for name. Up to maxlen-1 characters will be returned, not including the termination character. The pfm_pmu_is_supported() function returns PFMLIB_SUCCESS if the given PMU type is supported by the library independently of what the host PMU model is. The pfm_force_pmu() function is used to forced the library to use a particular PMU model compared to what it has detected. The library checks that the selected type can be supported by the host PMU. This is mostly useful to force the library to the use generic PMU model PFMLIB_GENERIC_PMU. This function can be called at any time and upon return the library is considered initialized. The pfm_list_supported_pmu() function is used to print the list PMU types that the library supports. The results is printed using the function provided in the pf argument, which must be a printf-style function.

RETURNThe function returns whether or not it was successful. A return value of PFMLIB_SUCCESS indicates success, otherwise the value is the error code.

ERRORSPFMLIB_ERR_NOINIT the library has not been initialized properly. PFMLIB_ERR_INVAL  invalid argument was given, most likely invalid pointer or invalid PMU type. PFMLIB_ERR_NOTSUPP  the selected PMU type can be used on the host CPU.

AUTHORStephane Eranian <eranian@hpl.hp.com>
0
Johanes Gumabo
Data Size   :   19,499 byte
man-pfm_list_supported_pmus.3Build   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 200,221
Visitor ID   :     :  
Visitor IP   :   3.146.176.191   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.