Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

C.6. Glock tracepoint

這些 tracepoint 被設計為能夠透過合併快取控制與 blktrace 輸出以及 on-disk 格式的知識,來確認快取控制的正確性。之後更可檢查正確鎖定所發出和完成的任何 I/O,並確保不會發生競爭情況。
gfs2_glock_state_change tracepoint 乃最重要的一項。它會追蹤 glock 的所有狀態變更,由初始建立直到最終降階為止(以 gfs2_glock_put 作為結尾),以及解除轉換程序鎖定的最終 NL)。l(locked)glock 旗標總是會在狀態更改之前設置,並且直到完成之前都不會被清除。當狀態進行變更時,絕不會有任何 holder(H glock holder 旗標)被授與。若有任何排程中的 holder,它們的狀態將一直會是 W(waiting)。當狀態變更完成時,holder 將可被授與,並且此乃 l glock 旗標被清除之前的最終作業。
gfs2_demote_rq tracepoint 可追蹤本機與遠端的降階請求。假設節點上擁有足夠的記憶體,一般鮮少會看見本機降階的請求,並且大部份時候它們會由卸載,或是透過非經常的記憶體回收所建立。遠端降階請求的數量,代表着節點之間對於特定 inode 或是資源群組的競用程度。
當 holder 被授與鎖定時,gfs2_promote 將會被調用,這將會發生在狀態變更的最後階段,或是當鎖定被請求並且能即刻授與的情況下(基於 glock 狀態已快取了適當模式的鎖定)。若 holder 為此 glock 所被授與的第一個 holder,那麼 f(first)旗標將會被設置在該 holder 上。這目前僅使用於資源群組。