Dettagli del software:
Versione: 2.7.21.2
Data di caricamento: 2 Jun 15
Licenza: Libero
Popolarità: 1
PERFCTR è un'applicazione che aggiunge il supporto per il kernel di Linux (2.4.16 o più recente) per l'utilizzo dei contatori di monitoraggio delle prestazioni (PMC) si trovano in molti processori moderni.
Processori supportati sono:
- Tutti i processori Intel Pentium, vale a dire, Pentium, Pentium MMX, Pentium Pro, Pentium II, Pentium III, Pentium M e Pentium 4, comprese le versioni Xeon Celeron e.
- Le famiglie di processori AMD K7 e K8.
- Cyrix 6x86MX, MII, e III.
- VIA C3 (Cyrix III).
- Centauro WinChip C6 / 2/3.
- PowerPC 604, 7xx, e 74xx processori
Caratteristiche .
- Ogni processo Linux ha una propria serie di & quot; virtuale & quot ; PMC. Cioè, ad un processo i PMC sembrano essere privati e non collegati alle attività di altri processi del sistema. Le PMC virtuali hanno precisione a 64 bit, anche se gli attuali processori implementano solo PMC 32, 40, o 48-bit. Ogni processo ha anche un contatore di tempo-bollo virtuale (TSC). Sulla maggior parte delle macchine, le PMC virtuali possono essere campionati completamente in user-space senza incorrere il sovraccarico di una chiamata di sistema.
- Un processo accede suoi PMC virtuali apertura / dev / PERFCTR e sistema di rilascio invita il descrittore di file risultante. Una biblioteca spazio utente è incluso, che fornisce un'interfaccia più alto livello.
- Il driver supporta anche global-mode o PMC a livello di sistema. In questo modo, ogni PMC su ogni processore può essere controllata e leggere. Le PMC e TSC su processori attivi vengono campionati periodicamente e le somme accumulate hanno precisione a 64 bit. PMC Global-mode sono accessibili tramite il / dev / PERFCTR file del dispositivo; la biblioteca spazio utente fornisce un'interfaccia più alto livello.
- La biblioteca user-space è accompagnato da numerosi programmi di esempio che illustrano come è possibile utilizzare il driver e la libreria.
- Supporto per la prestazione-overflow del contatore interrupt è previsto per Intel P4 e P6, e AMD K7 e K8 processori.
Limitazioni
- I kernel più vecchio di 2.4.16 non sono supportati da PERFCTR-2.6. È possibile utilizzare la precedente serie stabile, PERFCTR-2.4, se si deve utilizzare un kernel più vecchio, ma questo ha diverse limitazioni:
- I kernel più vecchi non supportano AMD64 (x86-64).
- I contatori di prestazioni in P4 hyperthreading / Xeon non può essere utilizzato con i kernel più vecchi di 2.4.15. Dovreste disattivare Hyper-Threading o SMP, o limitare se stessi per il campionamento TSC.
- Nessun profiling utilizzando interrupt contatore di overflow, tranne in 2.4.10 e kernel più recenti, e alcuni primi 2,4 ac / kernel RedHat.
- Il codice dell'applicazione compilato per PERFCTR-2.4 non è compatibile con PERFCTR-2.6, e viceversa.
- La serie PERFCTR-2.4 non supporta il kernel 2.6. Alcune di queste limitazioni possono essere risolvibile. Contatta l'autore se si è disposti a finanziare lo sviluppo in questa direzione.
- La struttura di interrupt del contatore delle prestazioni richiede SMP o monoprocessore supporto APIC. In quest'ultimo caso, il BIOS deve essere ragionevolmente non-buggy. Purtroppo, questo spesso non è il caso.
- Né il driver del kernel, né il tentativo di esempio biblioteca user-space per nascondere eventuali dettagli specifici del processore da parte degli utenti.
- Questo pacchetto permette di calcolare conteggi degli eventi e cicli aggregati per le sezioni di codice. Dal momento che molti processori x86-tipo utilizzano esecuzione out-of-order, è impossibile attribuire evento esatto o in bicicletta conta per singole istruzioni.
- / 2/3 Supporto Centaur WinChip C6 richiede che il TSC è disabilitato.
I commenti non trovato