Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

239
Vistas
Recuento de eventos de acceso a caché L3 en procesadores Amd Zen 2

Estoy tratando de averiguar el evento para usar con el comando perf stat para contar los accesos a la memoria caché L3 en un procesador AMD Zen 2. Según el PPR ( http://developer.amd.com/wordpress/media/2017/11/54945_PPR_Family_17h_Models_00h-0Fh.pdf ), sección 2.1.13.4.1, página 168, el evento es x01 y el umask es x80 para "[Accesos a caché L3] (L3RequestG1)". Por lo que entiendo, el evento a usar en el comando perf stat sería r8001. Pero el siguiente comando siempre devuelve el conteo como cero sin importar la carga que ejecute:

perf stat -a -e r8001 -- dormir 10

Estadísticas del contador de rendimiento para 'todo el sistema':

 0 r8001

10.001105322 segundos de tiempo transcurrido

¿Estoy malinterpretando el PPR o [L3 Cache Accesses] (L3RequestG1) significa algo más?

Además, ¿hay alguna manera de especificar el segmento de caché L3 para monitorear eventos en rendimiento, ya que la mayoría de las arquitecturas más nuevas con un alto número de núcleos tienen múltiples segmentos L3?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Los eventos de caché L3 solo se pueden contar en la PMU L3 como se especifica claramente tanto en el mnemónico físico ( L3PMCx01 ) como en el mnemónico lógico ( Core::X86::Pmc::L3::L3RequestG1 ) del evento que desea medir. La PMU L3 se llama formalmente L3PMC. Esto es similar a las PMU de cbox en los procesadores Intel.

La PMU predeterminada en perf para eventos sin procesar es cpu , que es el nombre que el subsistema perf_events le da a la PMU central. Un evento especificado mediante un código de evento sin procesar sin una PMU explícita, como r8001, es equivalente a cpu/r8001/. El evento central 0x001 representa el evento Core::X86::Pmc::Core::FpSchedEmpty y el umask 0x80 no está definido para este evento (consulte la Sección 2.1.15.4.1). Así que estás contando un evento indefinido. En este caso, si el evento se implementó pero no se documentó, es posible que el recuento de eventos no sea cero dependiendo de si ocurre durante la ejecución del programa que se está perfilando. De lo contrario, el recuento de eventos sería cero. perf_events no le impide contar eventos indefinidos.

A partir de la versión anterior del kernel v5.4-rc1, el L3PMC es compatible con perf_events con el nombre amd_l3 . Para determinar si está utilizando un kernel compatible con este PMU, verifique si está enumerado mediante el comando ls /sys/devices/*/format . Si no es compatible, no puede medir los eventos L3 en ese kernel a través de perf.

Si se admite amd_l3 , debe especificar explícitamente la PMU como en amd_l3/r8001/ o amd_l3/event=0x01,umask=0x80/ para que el evento se cuente en la PMU correcta. O simplemente puede usar el nombre del evento perf l3_request_g1.caching_l3_cache_accesses .

¿Sabes qué representa el evento L3RequestG1 ? La documentación solo lo describe como "Almacenamiento en caché: accesos a caché L3", lo cual no es muy significativo. Me parece que los tipos de transacciones que cuenta son un subconjunto de los cubiertos por el evento L3LookupState . La Tabla 19 en la Sección 2.1.15.2 dice que los accesos L3 y las fallas deben contarse usando rFF04 ( L3LookupState ) y r0106 ( L3CombClstrState ), respectivamente. No espere ciegamente que ninguno de estos eventos realmente cuente lo que quiera medir.

El PPR que vinculó no es para ningún procesador Zen2, es para algunos procesadores Zen y Zen+ (específicamente los modelos 00h-0Fh). Debe conocer el modelo y la familia del procesador para ubicar el PPR correcto.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda