Вы не можете получить номера событий Precise
с помощью perf stat
.
perf stat
работает в режиме без выборки, в котором perf
поддерживает текущий счет всех возникновений событий. В режиме счета записывать Precise events
не имеет смысла. Precise events
, как упомянул Питер, помогает вам правильно сузить команду (фактически +1 инструкция из инструкции, которая запускает помощь PEBS), которой приписывается запись в примере.
Кроме того, известно, что обработчик прерывания PEBS вызывает конфликты с NMI переполнения счетчика, который запускается при запуске perf stat
. Для большего понимания, вы должны посмотреть это обсуждение.
По указанным выше причинам запись precise
событий была отключена в режиме без выборки, как можно увидеть здесь .
/* There's no sense in having PEBS for non sampling events: */
if (!is_sampling_event(event))
return -EINVAL;
Вы должны использовать perf record
для записи precise
событий, поскольку кажется, что событие mem_load_l3_miss_retired.remote_dram
уже поддерживает PEBS .
perf record -e mem_load_l3_miss_retired.remote_dram:p sleep 2