C.6. Puntos de trazado Glock
Los puntos de trazado también se diseñan para poder confirmar la exactitud del control de la cache al combinarlos con la salida blktrace y con el conocimiento de la presentación en disco. Es entonces posible revisar si se ha emitido alguna E/S y completado en el cerrojo correcto y que no haya carreras en el momento.
El punto de trazado
gfs2_glock_state_change
es el más importante. Hace el trazado de cada cambio de estado del glock desde la creación inicial correcta a través de la degradación final que termina con gfs2_glock_put
y la NL final para transición desbloqueada. El indicador de glock l (Bloqueado) siempre se establece antes de que ocurra un cambio de estado y no será despejado sino hasta después de que termine. Nunca habrá portadores otorgados (indicador de portador de glock H) durante el cambio de estado. Si hay algún portador en cola, siempre estará en el estado W (espera). Cuando el cambio de estado se complete, entonces se podrán otorgar los portadores que es la operación final antes de que el indicador de glock l sea despejado.
El punto de trazado
gfs2_demote_rq
mantiene el rastro de las solicitudes 'degradar', tanto locales como remotas. Si suponemos que hay suficiente memoria en el nodo, las solicitudes locales de degradar pocas veces serán vistas y muy a menudo serán creadas por umount o al reclamar memoria ocasional. El número de solicitudes de degradar remotas es una medida de contención entre nodos para un inodo particular o grupo de recursos.
Cuando a un portador se le otorga un cerrojo,
gfs2_promote
es llamado, esto sucede debido a que las etapas finales de un estado cambian o al solicitar un cerrojo que puede ser otorgado inmediatamente debido al estado de glock que ya está guardando en cache un cerrojo de un modo apropiado. Si es el primer portador otorgado para este glock, entonces el indicador f (primero) se establecerá en ese portador. Eso es utilizado actualmente solo por grupos de recursos.