Com os kernels mais antigos, INST_RETIRED.ANY (assim como muitos dos outros contadores documentados em https://perfmon-events.intel.com/ahybrid.htm ) funcionava como contadores para perf.
Agora estou usando perf com um kernel 6.7 rodando em um processador Sapphire Rapids {Golden Cove}.
Quando eu faço o seguinte
perf stat -e INST_RETIRED.ANY,cycles sleep 2
eu recebo
event syntax error: 'INST_RETIRED.ANY,cycles'
\___ parser error
Este é o comportamento esperado?
Pelo menos quando corro
sudo perf list
e procuroinst_retired
, encontroinst_retired.any
, o que se enquadra na convenção de capitalização dos outros eventos. Então, é provável que eles tenham sido renomeados nas ferramentas. eu posso correre pegue
nesta máquina Intel (não gen12/13).
A razão pela qual INST_RETIRED.ANY retornou um erro de análise foi que a versão do perf não correspondia à versão do Linux, como deveria.
Recebi a máquina de alguém que presumi que a configurou corretamente, então não me preocupei em verificar se havia incompatibilidades de versão. Felizmente, um comentarista sugeriu verificar a versão do perf, o que acabou resolvendo o problema