pm_get_data_pthread_mx 또는 pm_get_tdata_pthread_mx 서브루틴

용도

대상 pthread에 대한 계수기 멀티플렉싱 모드에서 성능 모니터 데이터를 리턴합니다.

라이브러리

성능 모니터 API 라이브러리 (libpmapi.a)

구문

#include <pmapi.h>

int pm_get_data_pthread_mx (pid,  tid,  ptid,  *pmdata)
pid_t pid;
tid_t tid;
ptid_t ptid;
pm_data_mx_t *pmdata;

int pm_get_tdata_pthread_mx (pid, tid, ptid, *pmdata, *time)
pid_t pid;
tid_t tid;
ptid_t ptid;
pm_data_mx_t *pmdata;
timebasestruct_t *time;

설명

pm_get_data_pthread_mx 서브루틴은 대상 pthread에 대한 카운터 멀티플렉싱 모드에서 현재 성능 모니터 데이터를 검색합니다. pthread가 중지되어야 하며 호출 프로세스의 제어 하에 디버그 대상 프로세스의 일부여야 합니다.

pm_get_tdata_pthread_mx 서브루틴은 대상 pthread에 대한 카운터 멀티플렉싱 모드에서 현재 성능 모니터 데이터를 검색하고 하드웨어 카운터를 마지막으로 읽은 시간을 표시하는 시간소인을 검색합니다.

pthread가 1: 1모드에서 실행 중인 경우 tid 매개변수만 지정해야 합니다. pthread가 m: n 모드에서 실행 중인 경우 ptid 매개변수만 지정해야 합니다. ptidtid 매개변수가 둘 다 지정된 경우, 이들은 ptid 매개변수가 지정된 단일 pthread를 참조해야 하며 현재 tid 매개변수가 지정된 커널 스레드에서 실행 중이어야 합니다.

성능 모니터 데이터는 항상 64비트값 세트 (사용되는 시스템의 하드웨어 계수기당 하나) 의 배열입니다.

사용자 애플리케이션은 누적된 계수 및 시간을 저장하기 위해 할당된 배열을 해제해야 합니다 ( pmdata 매개변수의 accu_set 필드).

매개변수

항목 설명
pid 대상 pthread의 프로세스 ID입니다. 대상 프로세스는 호출자 프로세스의 디버기여야 합니다.
tid 대상 pthread의 스레드 ID. 이 매개변수를 무시하려면 0으로 설정하십시오.
ptid 대상 pthread의 Pthread ID. 이 매개변수를 무시하려면 0으로 설정하십시오.
* pmdata 대상 pthread에 대한 성능 모니터 데이터 (계수된 각 이벤트 세트에 대한 누적된 카운터, 누적된 시간 및 누적된 PURR및 SPURR 시간의 배열) 를 리턴하는 구조에 대한 포인터.
* 시간 하드웨어 성능 모니터링 카운터를 마지막으로 읽었을 때의 시간 기본 값을 포함하는 구조에 대한 포인터입니다. time_base_to_time 서브루틴을 사용하여 시간으로 변환할 수 있습니다.

리턴 값

항목 설명
0 오류가 발생하지 않았습니다.
양수 오류 코드 오류 코드를 디코드하려면 pm_error 서브루틴 을 참조하십시오.

오류 코드

pm_error 서브루틴을 참조하십시오.

파일

항목 설명
/usr/include/pmapi.h 표준 매크로, 데이터 유형 및 서브루틴을 정의합니다.