내가 https://github.com/andikleen/simple-pt는 어떻게 버퍼가 링으로 사용되는 seens
간단한-PT를 시도 구성하고 인텔 프로세서 추적에서 캡처 버퍼 오버 플로우합니다.
내부 버퍼 오버플로가 발생하면 자체 추적을 일시 중지하여 커널 모듈이 처리하도록 할 수 있습니까?
내가 https://github.com/andikleen/simple-pt는 어떻게 버퍼가 링으로 사용되는 seens
간단한-PT를 시도 구성하고 인텔 프로세서 추적에서 캡처 버퍼 오버 플로우합니다.
내부 버퍼 오버플로가 발생하면 자체 추적을 일시 중지하여 커널 모듈이 처리하도록 할 수 있습니까?
각 테이블에서 STOP 비트가 1로 설정된 두 개의 ToPA 테이블에서 이중 버퍼 방식을 사용할 수 있습니다. Intel PT 하드웨어는 프로그램 (사용자 공간)이 다른 프로그램에서 읽는 동안 항상 하나의 버퍼를 채 웁니다. 사용자는 버퍼에서 모든 데이터를 읽은 후 버퍼를 스왑해야합니다. 하드웨어 버퍼가 가득 차면 STOP 비트는 추적을 중지하고 IA32_RTIT_STATUS MSR에서 STOPPED 비트를 설정합니다. 그런 다음이 비트를 검사하여 버퍼 오버플로가 발생했는지 확인할 수 있습니다.
답장을 보내 주셔서 감사합니다. 나는 PMI를 유발하는 방법을 알았습니다. –
왜 최신 커널을'perf' 도구로 사용하지 않겠습니까? – 0andriy