TODO¶
當為需要寫入 AoE 儲存的資料分配 struct sk_buff 時,存在潛在的死鎖風險。如果資料是從髒頁寫入以釋放該頁,並且沒有其他可用頁,那麼在為 sk_buff 分配需要空閒頁時可能會發生死鎖。這種情況尚未觀察到,但最好消除記憶體壓力下任何潛在的死鎖風險。
由於乙太網上的 ATA 不會被核心的 IP 程式碼分片,因此 struct sk_buff 的解構函式成員可供 AoE 驅動程式使用。透過使用記憶體池(mempool)分配除前幾個 sk_buff 之外的所有 sk_buff,並註冊一個解構函式,我們應該能夠高效地分配 sk_buff 而不會引入任何死鎖風險。