2017-12-04 10 views
0

'perf trace'명령을 사용하여 특수 스레드에서 tsx 중단을 추적하려고합니다. 하지만 논쟁으로 오류가 발생합니다. 제가 옳고 그럴 수 있다고 생각하는 모든 명령은 아래와 같습니다. 추적 추적 반환 한TSX abort가있는 특수 스레드에 'perf trace command'사용

은 '{24265 - 행사를 --pid {TX-중단} 24265 - 행사를 --pid를 규칙적 추적 반환 한

는 24265이 - 행사

TX-중단 --pid TX-중단 '}

는 24265가} - 행사

트레이스를 규칙적 {24265} - 행사 {TX-중단을} --pid 추적 PERF TX-중단 {--pid 추적 PERF - -pid {24265} - 행사 { 'TX-중단'}

은 { '24265'} - 행사

는 { '24265'} - 행사 {TX-를 --pid 추적 PERF TX-중단 --pid 추적 PERF

{ '24265'} - 행사 { 'TX-중단을'}

모든 오류 hins을 --pid 추적 PERF} 중단하는 것은 '옵션을 확인, 추적 대상을 구문 분석 문제'입니다. 예상대로 perf 추적을 실행할 수있는 방법이 있습니까?

답변

0

문제는 인수 구문이 아니므로 첫 줄은 잘되어야합니다. 먼저 tx-abortperf list으로 나열되어 있는지 확인하여 시스템에서 일반적으로 지원되는지 확인하십시오. 지정된 pid가 없기 때문에 오류가 발생할 수 있습니다.

TSX 이벤트는 PMU 이벤트입니다. syscalls 또는 tracepoint와 달리 개별 이벤트가 소프트웨어에 설치되어 있지는 않지만 Performance Monitoring Unit에는 이러한 이벤트를 세고 특정 이벤트 발생 후 인터럽트를 트리거하는 하드웨어 카운터가 있습니다. 각 이벤트에서 샘플을 가져 오는 것은 PMU 이벤트에 일반적으로 적합하지 않습니다. 문서의 내용이 다소 어둡다 고해도, 원래 syscalls 용인 perf trace에서는 작동하지 않는 것으로 생각됩니다.

참고 작동하지 않지만 "잘못된 인수"가 표시 될 수 있습니다. PMU 이벤트는 perf trace에 대해 지원되지 않습니다. 저의 추측입니다.

analyzing TSX with perf에는 Intel의 광범위한 설명서가 있으며 perf record과 함께 tx 이벤트를 사용하는 방법에 대한 예제와 설명을 제공합니다.

+0

대단히 감사합니다. 나는 tx-abort가'perf list'와 pid에 존재한다고 확신합니다. 그러나 필자는 필자가 시도했던 것처럼 여전히 perf trace를 실행할 수 없습니다. PMU 이벤트가 perf 추적에 의해 지원되지 않을 수도 있다는 귀하의 추측에 동의합니다. –