Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il report di spinlock presenta le informazioni seguenti sui spinlock:
- Acquisire la frequenza di esempio
- Frequenza di esempio di contesa
- Soglia di rotazione
- Numero di CPU
- Velocità cpu, in megahertz
- Lunghezza traccia, in nanosecondi
- Lunghezza traccia, nei cicli
Sezioni del report spinlock
Le sezioni successive del report mostrano l'utilizzo del spinlock durante il periodo di tempo del profilo.
Singoli spinlock
Ogni spinlock viene visualizzato separatamente. I spinlock vengono ordinati con i spinlock "hottest" visualizzati prima. Spesso è possibile identificare il collo di bottiglia spinlock esaminando i primi pochi spinlock.
Per ogni spinlock vengono presentate le informazioni seguenti:
- Tipo di blocco
- Indirizzo del kernel di blocco
- Simbolo del blocco (si noti che gli spinlock creati in modo dinamico non hanno simboli)
Sezione report di riepilogo
Un report di riepilogo segue con le informazioni seguenti:
- Percentuale di tempo di CPU trascorso per l'acquisizione di blocchi
- Percentuale di tempo della CPU trascorso sulla contesa di blocco
- Tasso di acquisizione blocco
- Frequenza di collisione
- Frequenza di rotazione
- Frequenza di contesa, sia campionata che normalizzata
Le due sezioni finali del report sono gli eventi ignorati a causa di interruzioni e della funzione di rilascio.
Eventi ignorati a causa di interruzioni
Gli interruzioni possono verificarsi mentre vengono mantenuti i spinlock. Quando si verifica questo problema, il tempo di gestione degli interruzioni è incluso nel tempo di conservazione del spinlock e il tempo di conservazione del blocco di spinlock viene visualizzato in modoordinato. Xperf non include eventi di spinlock che vengono mantenuti mentre viene gestito un interruzione durante il calcolo dei tempi di mantenimento del spinlock. La Events skipped due to interrupts riga visualizza il numero di eventi non inclusi nel calcolo. Questo numero è normalmente molto piccolo.
Funzioni di rilascio
Un spinlock può essere acquisito o rilasciato da percorsi di codice diversi. Un elenco di funzioni di rilascio del spinlock viene visualizzato alla fine del report. L'elenco viene ordinato tenendo premuto il tempo di blocco. Vengono presentate anche informazioni aggiuntive su una determinata funzione di rilascio, ad esempio acquisizione o contesa.
Esempio
Nell'esempio seguente viene illustrato come ottenere un riepilogo dei dati di spinlock.
xperf -i example.etl -symbols -o example.txt -a spinlock -summary
Nell'esempio seguente viene illustrato come limitare il numero di record restituiti ai cinque spinlock più attivi.
xperf -i example.etl -symbols -o example.txt -a spinlock -summary -counts 5