www terminado significa salida roba rastreo que paquetes operativa oficina numero mexpost mexico guia estado envio encom despacho correosdemexico correos clasificación centro cdmx aparece aduanas c linux perf

terminado - salida del centro de clasificación



¿Qué significan los eventos de caché perf? (2)

Algunas respuestas:

  • L1 es el caché de nivel 1, el más pequeño y el más rápido. LLC otro lado, LLC refiere al último nivel de la jerarquía de caché , lo que denota el caché más grande pero más lento.
  • i vs. d distingue el caché de instrucciones del caché de datos. Solo L1 se divide de esta manera, otros cachés se comparten entre datos e instrucciones.
  • TLB refiere al búfer de traducción , un caché que se usa cuando se asignan direcciones virtuales a las físicas.
  • Diferentes contadores de TLB, dependiendo de si la dirección mencionada se refiere a una instrucción o algunos datos.
  • Para todos los accesos de datos, se mantienen diferentes contadores dependiendo de si la ubicación de la memoria dada fue leída, escrita o predefinida (es decir, recuperada para su lectura en algún momento posterior).
  • El número de fallas indica la frecuencia con la que se accedió a un ítem de datos dado pero no estuvo presente en el caché.

Estoy tratando de averiguar por qué un programa C modificado se ejecuta más rápido que su parte de contador no modificada (estoy agregando muy pocas líneas de código para realizar algún trabajo adicional). En este contexto, sospecho que los " efectos de caché " son la explicación principal (caché de instrucciones). Así llego a la herramienta de perfiles perf (https://perf.wiki.kernel.org/index.php/Main_Page) pero desafortunadamente no puedo entender el significado de sus resultados con respecto a las fallas de caché.

Se proporcionan varios eventos sobre el caché:

cache-references [Hardware event] cache-misses [Hardware event] L1-dcache-loads [Hardware cache event] L1-dcache-load-misses [Hardware cache event] L1-dcache-stores [Hardware cache event] L1-dcache-store-misses [Hardware cache event] L1-dcache-prefetches [Hardware cache event] L1-dcache-prefetch-misses [Hardware cache event] L1-icache-loads [Hardware cache event] L1-icache-load-misses [Hardware cache event] L1-icache-prefetches [Hardware cache event] L1-icache-prefetch-misses [Hardware cache event] LLC-loads [Hardware cache event] LLC-load-misses [Hardware cache event] LLC-stores [Hardware cache event] LLC-store-misses [Hardware cache event] LLC-prefetches [Hardware cache event] LLC-prefetch-misses [Hardware cache event] dTLB-loads [Hardware cache event] dTLB-load-misses [Hardware cache event] dTLB-stores [Hardware cache event] dTLB-store-misses [Hardware cache event] dTLB-prefetches [Hardware cache event] dTLB-prefetch-misses [Hardware cache event] iTLB-loads [Hardware cache event] iTLB-load-misses [Hardware cache event] branch-loads [Hardware cache event] branch-load-misses [Hardware cache event] node-loads [Hardware cache event] node-load-misses [Hardware cache event] node-stores [Hardware cache event] node-store-misses [Hardware cache event] node-prefetches [Hardware cache event] node-prefetch-misses [Hardware cache event]

¿Dónde puedo encontrar una explicación sobre estos campos? El evento caché-errores siempre es más pequeño que otros eventos. ¿Qué mide este evento?

¿Cómo interpretar los 26,760 L1-icache-load-errores para ls frente a los 5,708 caché de fallos en el siguiente ejemplo?

perf stat -e L1-icache-load-misses ls caches caches~ out Performance counter stats for ''ls'': 26,760 L1-icache-load-misses 0.002816690 seconds time elapsed perf stat -e cache-misses ls caches caches~ out Performance counter stats for ''ls'': 5,708 cache-misses 0.002822122 seconds time elapsed


Parece que piensa que el evento de cache-misses es la suma de todos los demás tipos de fallas de caché ( L1-dcache-load-misses , etc.). Eso en realidad no es cierto.

el evento cache-misses representa la cantidad de acceso a la memoria que no pudo ser servida por ninguno de la memoria caché.

Admito que la documentación de perf no es la mejor.

Sin embargo, uno puede aprender mucho al respecto leyendo (asumiendo que ya tiene un buen conocimiento de cómo funcionan una CPU y una unidad de monitoreo de rendimiento, esto claramente no es un curso de arquitectura de computadora) el documento de la función perf_event_open ():

http://web.eece.maine.edu/~vweaver/projects/perf_events/perf_event_open.html

Por ejemplo, al leerlo, puede ver que el evento de cache-misses mostrado por perf list corresponde a PERF_COUNT_HW_CACHE_MISSES