Как Linux perf вычисляет кеш-ссылки и кеш-пропущенные события

Нет, нет способа изменить текст кнопок для встроенных диалогов.

Ваш лучший вариант - создать свой собственный диалог. Это не очень сложно сделать, и это дает вам абсолютный контроль над тем, что находится в виджетах диалогового окна.

2
задан LouisYe 7 March 2019 в 22:47
поделиться

1 ответ

Интересующие вас встроенные события perf соответствуют следующим событиям мониторинга производительности оборудования вашего процессора:

  523,288,816      cache-references        (architectural event: LLC Reference)                             
  205,331,370      cache-misses            (architectural event: LLC Misses) 
  237,794,728      L1-dcache-load-misses   L1D.REPLACEMENT
3,495,080,007      L1-dcache-loads         MEM_INST_RETIRED.ALL_LOADS
2,039,344,725      L1-dcache-stores        MEM_INST_RETIRED.ALL_STORES                     
  531,452,853      L1-icache-load-misses   ICACHE_64B.IFTAG_MISS
   77,062,627      LLC-loads               OFFCORE_RESPONSE (MSR bits 0, 16, 30-37)
   27,462,249      LLC-load-misses         OFFCORE_RESPONSE (MSR bits 0, 17, 26-29, 30-37)
   15,039,473      LLC-stores              OFFCORE_RESPONSE (MSR bits 1, 16, 30-37)
    3,829,429      LLC-store-misses        OFFCORE_RESPONSE (MSR bits 1, 17, 26-29, 30-37)

Все эти события описаны в руководстве Intel, том 3. Для получения дополнительной информации о том, как сопоставить perf события с нативными событиями, см .: Аппаратные события кэширования и perf и Как perf использует события offcore? .

Но как perf вычисляет событие пропуска кэша? Насколько я понимаю, если промахов в кеше подсчитывается количество обращений к памяти, которые не могут быть обработаны кешем ЦП, то не должно ли оно быть равно LLC-load-misses + LLC-store-misses? Ясно, что в моем случае число пропущенных кэшей намного выше, чем число последних пропущенных кэшей.

LLC-load-misses и LLC-store-misses учитывают только запросы по требованию, но они также учитывают как кэшируемые, так и не кэшируемые запросы. С другой стороны, cache-misses учитывает как запросы спроса, так и спекулятивные запросы, но только кешируемые. Поэтому не обязательно, чтобы один был больше другого.

Та же самая путаница относится к ссылке на кеш. Это намного ниже, чем L1-dcache-load и намного выше, чем LLC-load + LLC-store

Только гарантировано, что cache-reference больше, чем cache-misses, потому что первый подсчитывает запросы независимо от того, о том, пропускают ли они L3. Обычно L1-dcache-loads больше, чем cache-reference, потому что нагрузки, создаваемые ядром, обычно происходят только тогда, когда у вас есть инструкции по загрузке и из-за локальности кэша, демонстрируемой многими программами. Но это не всегда так из-за аппаратных предварительных выборок.

События L1- * и LLC- * легко понять, так как я могу сказать, что они считываются с аппаратных счетчиков в CPU.

Нет, это ловушка. Их нелегко понять.

0
ответ дан Hadi Brais 7 March 2019 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: