9.6. Glock 追踪点
追踪点也被设计为能够通过将缓存控制与 blktrace
输出合并,并了解磁盘布局来确认缓存控制的正确性。然后可以检查是否在正确锁定下发布并完成任意给定的 I/O,并且没有竞争。
gfs2_glock_state_change
追踪点是要理解的最重要的一点。它跟踪 glock 每次从初始创建到最终降级的状态更改,该演示以 gfs2_glock_put
结束,最终 NL 被解锁转换。l (locked) glock 标志总是在状态更改发生前设置,且只有在完成更改后才会清除。在状态更改过程中,不会有未允许的拥有者(H glock 拥有者标志)。如果有排队的拥有者,他们将总是处于 W(等待)状态。当完成了状态更改后,允许拥有者可能是清除 l glock 标签前的最后操作。
gfs2_demote_rq
追踪点会跟踪降级请求,包括本地和远程的降级请求。假设节点上有足够的内存,本地降级请求将很少出现,最常见的是由 umount
创建,或者偶尔内存被重新声明。远程降级请求数量是节点针对特定内节点或资源组间争用的指标。
gfs2_glock_lock_time
追踪点提供有关对 DLM 请求所需时间的信息。阻塞(b
)标志被加入到 glock 中,专门用于与这个追踪点结合使用。
当为拥有者授予锁定时,会调用 gfs2_promote
,这是作为状态更改的最后阶段,或者请求锁定时,可能会因为 glock 状态已缓存合适的模式而立即授予该拥有者。如果拥有者是授予这个 glock 的第一个拥有者,那么就会在该拥有者中设定 f(第一个)标记。目前,这只由资源组使用。