2012-10-22 4 views
1

perf 기록을 사용하여 15 개의 하드웨어 및 추적 지점 이벤트를 기록하려고합니다.perf record -c 옵션과 오버 플로우 이벤트 사이의 관계는 무엇입니까?

나는 다음과 같은 이해하려면 :

  1. 이벤트 기반 샘플링을 : 워드 프로세서에서 나는 64 비트 카운터 것 흐름을 통해 그 이벤트에 해당 할 때마다 샘플링됩니다 기록를 규칙적 이해했다. 그게 맞습니까? 카운터는 ~ 2^64와 같은 이벤트 이후에 오버플로가 발생합니까?

  2. PMU/카운터 수보다 측정 할 이벤트가 많으면 멀티플렉싱을 사용하려면 특정 스위치를 전달해야합니까? 오버플로 - 이벤트는 멀티플렉싱이있을 때 어떻게 동작합니까?

  3. 스위치 "-c"의 용도/용도는 무엇입니까? 이 스위치를 사용하여 n 개의 이벤트마다 오버플로하도록 카운터를 만들 수 있습니까?

도와주세요.

+1

이상적으로 질문 당 하나의 질문에 대해 촬영해야합니다. –

답변

1

~ 2^64 이러한 이벤트가 발생하면 카운터가 오버플로됩니까?

즉, correct입니다.

멀티플렉싱을 사용하려면 특정 스위치를 통과해야합니까?

아니요 (-C 옵션을 사용하면 효과적으로 차단됩니다).

On multiplexing

:

카운터 이상의 이벤트가있는 경우, 커널은 각 이벤트를 모니터링 하드웨어에 접근 할 기회를 주고 타임 멀티플렉싱 (스위치 주파수 = HZ, 일반적으로 100 또는 1000)를 사용한다.

"-c"스위치의 용도는 무엇입니까?

네, 맞습니다. -c 스위치를 사용하면 샘플링 기간을 지정할 수 있습니다. 즉, 샘플링 기간을 2로 지정하면 매 2 번째 이벤트마다 카운터가 오버플로됩니다. 그런 다음 이벤트가 발생했을 때의 모든 정보 (예 : 아키텍처 상태 등)가 버퍼에 기록됩니다.