Évaluation des données spinlock
Le rapport spinlock présente les informations suivantes sur les spinlocks :
- Acquérir le taux d’échantillonnage
- Taux d’échantillonnage de contention
- Seuil de rotation
- Nombre d'unités centrales
- Vitesse du processeur, en mégahertz
- Longueur de trace, en nanosecondes
- Longueur de trace, en cycles
Sections de rapport Spinlock
Les sections suivantes du rapport montrent l’utilisation du spinlock pendant la période de temps du profil.
Spinlocks individuels
Chaque spinlock est affiché séparément. Les spinlocks sont triés avec les spinlocks « les plus chauds » affichés en premier. Souvent, il est possible d’identifier le goulot d’étranglement des spinlocks en examinant les quelques premiers spinlocks.
Les informations suivantes sont présentées pour chaque spinlock :
- Type de verrou
- Adresse du noyau du verrou
- Symbole du verrou (notez que les spinlocks créés dynamiquement n’ont pas de symboles)
Section Rapport de synthèse
Un rapport de synthèse suit avec les informations suivantes :
- Pourcentage du temps processeur consacré à l’acquisition de verrous
- Pourcentage du temps processeur consacré à la contention de verrou
- Taux d’acquisition de verrou
- Taux de collision
- Taux de rotation
- Taux de contention, échantillonné et normalisé
Les deux dernières sections du rapport sont les événements ignorés en raison d’interruptions et de la fonction de mise en production.
Événements ignorés en raison d’interruptions
Des interruptions peuvent se produire pendant que les spinlocks sont conservés. Dans ce cas, le temps de gestion des interruptions est inclus dans le temps de conservation du spinlock et le temps de conservation du spinlock apparaît excessivement long. Xperf n’inclut pas les événements spinlock qui sont conservés pendant qu’une interruption est gérée lors du calcul des temps de conservation des spinlocks. La Events skipped due to interrupts
ligne affiche le nombre d’événements qui n’ont pas été inclus dans le calcul. Ce nombre est normalement très faible.
Fonctions de mise en production
Un spinlock peut être acquis ou libéré à partir de différents chemins de code. Une liste des fonctions de mise en production du spinlock s’affiche à la fin du rapport. La liste est triée par durée de conservation du spinlock. Des informations supplémentaires sur une fonction de mise en production particulière, telles que l’acquisition ou la contention, sont également présentées.
Exemple
L’exemple suivant montre comment obtenir un résumé des données spinlock.
xperf -i example.etl -symbols -o example.txt -a spinlock -summary
L’exemple suivant montre comment limiter le nombre d’enregistrements retournés aux cinq spinlocks les plus actifs.
xperf -i example.etl -symbols -o example.txt -a spinlock -summary -counts 5