9.6. Glock tracepoints
Les tracepoints sont également conçus pour pouvoir confirmer l'exactitude du contrôle du cache en les combinant avec la sortie de blktrace
et avec la connaissance de la disposition sur le disque. Il est alors possible de vérifier qu'une E/S donnée a été émise et achevée sous le bon verrou, et qu'il n'y a pas de course.
Le tracepoint gfs2_glock_state_change
est le plus important à comprendre. Il suit chaque changement d'état du glock depuis sa création initiale jusqu'à la rétrogradation finale qui se termine par gfs2_glock_put
et la transition finale de NL à unlocked (déverrouillé). Le drapeau l (locked) glock est toujours activé avant qu'un changement d'état ne se produise et ne sera effacé qu'une fois celui-ci terminé. Lors d'un changement d'état, il n'y a jamais de détenteurs accordés (drapeau de détenteur de cadenas H). S'il y a des titulaires en file d'attente, ils seront toujours dans l'état W (en attente). Lorsque le changement d'état est terminé, les titulaires peuvent être accordés, ce qui constitue la dernière opération avant l'effacement de l'indicateur l glock.
Le tracepoint gfs2_demote_rq
garde la trace des demandes de rétrogradation, qu'elles soient locales ou distantes. En supposant qu'il y ait suffisamment de mémoire sur le nœud, les demandes de rétrogradation locales seront rarement vues, et le plus souvent elles seront créées par umount
ou par une récupération occasionnelle de la mémoire. Le nombre de demandes de rétrogradation à distance est une mesure de la concurrence entre les nœuds pour un inode ou un groupe de ressources particulier.
Le point de contrôle gfs2_glock_lock_time
fournit des informations sur la durée des requêtes adressées au DLM. L'indicateur de blocage (b
) a été introduit dans le glock spécifiquement pour être utilisé en combinaison avec ce point de contrôle.
Lorsqu'un titulaire se voit accorder un verrou, gfs2_promote
est appelé, ce qui se produit lors des étapes finales d'un changement d'état ou lorsqu'un verrou est demandé et qu'il peut être accordé immédiatement parce que l'état glock a déjà mis en cache un verrou d'un mode approprié. Si le détenteur est le premier à se voir accorder ce verrou, l'indicateur f (first) est activé sur ce détenteur. Cette fonction n'est actuellement utilisée que par les groupes de ressources.