Acho o comportamento de perf top -e cache-misses:pp -p <my_pid> bastante confuso. Eu possuo um Intel i5-3230M, rodando o kernel 4.4.5 de 64 bits.
Se eu apenas executar esse comando, basicamente não obtenho amostras do meu aplicativo (uma simulação numérica com grandes conjuntos de dados, portanto, é necessário mostrar falhas de cache), mas quase somente de algumas funções do kernel, como intel_pmu_lbr_enable_all , native_write_msr_safe , native_read_msr_safe , __intel_pmu_lbr_disable . Se eu limitar as ocorrências para o espaço do usuário com -K , obtenho apenas resultados em meu aplicativo, mas com uma contagem muito baixa. Se eu remover um modificador "preciso" ( p ), recebo muitos mais hits, mas de opcodes que evidentemente não causam carga / gravação de memória.
Como devo interpretar esse comportamento? O que exatamente conta como "falta de cache"?