pm_get_data_mx, pm_get_tdata_mx, pm_get_data_cpu_mx, pm_get_tdata_cpu_mx, pm_get_data_lcpu_mx und pm_get_tdata_lcpu_mx Subroutine
Zweck
Gibt systemweite Performance Monitor-Daten im Zählermultiplexmodus zurück.
Bibliothek
Performance Monitor APIs Library (libpmapi.a)
Syntax
#include <pmapi.h>
int pm_get_data_mx ( *pmdata)
pm_data_mx_t *pmdata;
int pm_get_tdata_mx (pmdata, * time)
pm_data_mx_t *pmdata;
timebasestruct_t *time;
int pm_get_data_cpu_mx (cpuid, *pmdata)
int cpuid;
pm_data_mx_t *pmdata;
int pm_get_tdata_cpu_mx (cpuid, *pmdata, *time)
int cpuid;
pm_data_mx_t *pmdata;
timebasestruct_t *time;
int pm_get_data_lcpu_mx (lcpuid, *pmdata)
int lcpuid;
pm_data_mx_t *pmdata;
int pm_get_tdata_lcpu_mx (lcpuid, *pmdata, *time)
int lcpuid;
pm_data_mx_t *pmdata;
timebasestruct_t *time;Beschreibung
Die Subroutine pm_get_data_mx ruft die aktuellen systemweiten Leistungsüberwachungsdaten im Zählermultiplexmodus ab.
Die Subroutine pm_get_tdata_mx ruft die aktuellen systemweiten Leistungsüberwachungsdaten im Zählermultiplexmodus ab und eine Zeitmarke, die den Zeitpunkt angibt, zu dem die Hardwarezähler zuletzt gelesen wurden.
Die Subroutinen pm_get_data_cpu_mx und pm_get_tdata_cpu_mx rufen die aktuellen Leistungsüberwachungsdaten für einen angegebenen Prozessor ab. Die angegebene Prozessor-ID stellt eine fortlaufende Zahl dar, die von0in_system_configuration.ncpusDiese Subroutinen können nur verwendet werden, wenn keine Operationen zur dynamischen Rekonfiguration auf der Maschine ausgeführt werden, da beim Hinzufügen oder Entfernen von Prozessoren die Prozessornummerierung geändert wird und die angegebene Prozessornummer verschiedene Prozessoren von einem Aufruf an einen anderen bestimmen kann. Diese Subroutinen werden aus Gründen der Kompatibilität mit früheren Versionen beibehalten.
Die Subroutine pm_get_data_cpu_mx ruft die aktuellen Leistungsüberwachungsdaten im Zählermultiplexmodus für den angegebenen Prozessor ab.
Die Subroutine pm_get_tdata_cpu_mx ruft die aktuellen Performance Monitor-Daten im Zählermultiplexmodus für den angegebenen Prozessor ab und eine Zeitmarke, die angibt, wann die Hardwarezähler zuletzt gelesen wurden.
Die Subroutinen pm_get_data_lcpu_mx und pm_get_tdata_lcpu_mx rufen die aktuellen Leistungsüberwachungsdaten für einen angegebenen logischen Prozessor ab. Die angegebene Prozessor-ID stellt einen Wert dar, der von0in _system_configuration.max_ncpus. Dieser Wert stellt immer denselben Prozessor dar, auch wenn dynamische Rekonfigurationsoperationen ausgeführt wurden. Diese Subroutinen können einen Fehler zurückgeben, wenn die angegebene logische Prozessornummer während des Zählintervalls nie ausgeführt wurde.
Die Subroutine pm_get_data_lcpu_mx ruft die aktuellen Leistungsüberwachungsdaten für den angegebenen logischen Prozessor im Zählermultiplexmodus ab.
Die Subroutine pm_get_tdata_lcpu_mx ruft die aktuellen Leistungsüberwachungsdaten für den angegebenen logischen Prozessor im Zählermultiplexmodus ab und eine Zeitmarke, die angibt, wann die Hardwarezähler zuletzt gelesen wurden.
Die Performance Monitor-Daten sind immer ein Array aus 64-Bit-Werten (einer pro Hardwarenzähler auf den verwendeten Maschinen).
Die Benutzeranwendung muss das Array freigeben, das zum Speichern der kumulierten Anzahl und Zeiten zugeordnet ist (das Feld accu_set des Parameters pmdata ).
Parameter
| Element | Beschreibung |
|---|---|
| * pmdata | Zeiger auf eine Struktur, die die zurückgegebenen systemweiten Leistungsüberwachungsdaten enthält. (Array von kumulierten Zählern, kumulierte Zeit und kumulierte PURR-und SPURR-Zeit für jede gezählte Ereignisgruppe) |
| *TIME | Zeiger auf eine Struktur, die den timebase-Wert für den letzten Zeitpunkt enthält, zu dem die Zähler für die Leistungsüberwachung der Hardware gelesen wurden. Dies kann mit der Subroutine time_base_to_time in Zeit konvertiert werden. |
| cpuid | Fortlaufende Prozessornummern von0in_system_configuration.ncpus. Dieser Wert gibt nicht immer denselben Prozessor an, auch wenn dynamische Rekonfigurationsoperationen ausgeführt wurden. |
| lcpuid | Logische Prozessor-ID. Jede Kennung bleibt zwischen einem Warmstart mit einem bestimmten Prozessor verbunden, auch nach dynamischen Rekonfigurationsoperationen. Dieser Wert muss im Bereich von0in_system_configuartion.max_ncpus. |
Rückgabewerte
| Element | Beschreibung |
|---|---|
| 0 | Operation wurde erfolgreich beendet. |
| Positive error code | Verwenden Sie die Subroutine pm_error , um den Fehlercode zu decodieren. |
Fehlercodes
Weitere Informationen finden Sie in der Beschreibung der Subroutine pm_error.
Dateien
| Element | Beschreibung |
|---|---|
| /usr/include/pmapi.h | Definiert Standardmakros, Datentypen und Subroutinen. |