pm_get_data_mythread_mx or pm_get_tdata_mythread_mx Subroutine

Purpose

Returns Performance Monitor data in counter multiplexing mode for the calling thread.

Library

Performance Monitor APIs Library (libpmapi.a)

Syntax

#include <pmapi.h>

int pm_get_data_mythread_mx (*pmdata)
pm_data_mx_t *pmdata;

int pm_get_tdata_mythread_mx (*pmdata, *time)
pm_data_mx_t *pmdata;
timebasestruct_t *time;

Description

The pm_get_data_mythread_mx subroutine retrieves the current Performance Monitor data in counter multiplexing mode for the calling kernel thread.

The pm_get_tdata_mythread_mx subroutine retrieves the current Performance Monitor data in counter multiplexing mode for the calling kernel thread, and a timestamp indicating the last time the hardware counters were read.

The Performance Monitor data is always an array of a set (one per hardware counter on the machine used) of 64-bit values.

The user application must free the array allocated to store accumulated counts and times (the accu_set field of the pmdata parameter).

Parameters

Item Description
*pmdata Pointer to a structure to contain the returned Performance Monitor data (array of accumulated counters, accumulated time and accumulated PURR and SPURR time for each event set counted) for the calling kernel thread.
*time Pointer to a structure containing the timebase value the last time the hardware Performance Monitoring counters were read. This can be converted to time using the time_base_to_time subroutine.

Return Values

Item Description
0 No errors occurred.
Positive error code Refer to the pm_error Subroutine to decode the error code.

Error Codes

Refer to the pm_error Subroutine.

Files

Item Description
/usr/include/pmapi.h Defines standard macros, data types, and subroutines.