В проце есть железные счётчики, считающие кучу всяких вещей типа кешпромахов, походов в оперативу, число инструкций выполненных, декодированных что-то там ещё (примерно 100500 разных событий).
А как perf определяет к какому потоку относилось, например, число кеш-миссов, ведь вряд-ли PMC меняются при контекст-свитчах?