Secondo la man page della chiamata di sistema perf_event_open
(utilizzato internamente da perf
utilità di livello utente):
- eventi hardware: Questo indica uno degli eventi hardware "generalizzate" forniti dal kernel
- hardware eventi cache: indica un evento cache hardware.
Più sopra mi chiedo se questo ha qualche legame con quello che viene chiamato eventi non architettoniche e architettoniche in [Intel® 64 e Manuale IA-32 Architetture dello sviluppatore di software 3B] Intel® 64 e IA-32 Architetture Software Developer Manuale 3B 2.
Indipendentemente dal significato esatto di questa categorizzazione, cache-misses
come dichiarato here in a previous question e nella pagina di manuale che ho citato sopra, rappresenta il numero di accesso alla memoria che non poteva essere servito da una delle cache. Detto in modo diverso, significa il numero di errori di cache nella cache di ultimo livello. Di conseguenza, suppongo che questo sia lo stesso di LLC-misses
, sfortunatamente non sono in grado di confermarlo sul mio laptop perché LLC-misses
non è supportato.
Per quanto riguarda l'ultima domanda, l'overhead dovuto al monitoraggio delle prestazioni dovrebbe essere molto basso. Infatti, l'overhead è principalmente dovuto alla lettura dei valori del contatore e usando perf stat
suppongo che questa lettura debba essere eseguita solo una volta alla fine dell'esecuzione (considerando che i contatori non escono troppo)
fonte
2013-07-01 13:45:23