AMD 工程師一直在研究系統掛起/恢復處理中的許多怪癖和奇怪之處,以使其在硬件上更加可靠,尤其是在 Ryzen 筆記本電腦周圍。除了暫停/恢復可靠性改進和暫停到空閒 (s2idle) 增強功能外,他們的一位工程師還發現了一個簡單的單行代碼,作為加快系統恢復時間的一小步。
AMD 工程師 Basavaraj Natikar 意識到 USB XHCI 驅動程序中缺少檢查可以避免系統恢復期間額外的 120 毫秒延遲。它只有 120 毫秒,但這是一個廣泛的勝利,因為它是針對 XHCI 驅動程序代碼的,也是他們在 Linux 上改進 AMD Ryzen 平台的更大努力的一部分,而這 120 毫秒的節省來自於更改一行代碼。
Basavaraj Natikar 用 補丁現在在 Linux 6.5 內核週期之前在 USB-next 中排隊:
“在系統恢復期間避免額外的 120 毫秒延遲。
xHC 控制器可能會發出信號在顯示哪個 USB 設備導致 xHC 端口寄存器喚醒之前喚醒 120 毫秒。
因此,xhci 驅動程序會在恢復期間最多檢查 120 毫秒的端口活動,確保集線器驅動程序可以看到端口更改,並且不會由於沒有端口活動而立即運行時掛起。
然而,這僅在運行時恢復時需要,因為系統恢復無論如何都會恢復所有子集線器和其他子 USB 設備。”
尋找這個 120 毫秒的系統恢復時間節省幾個月後 Linux 6.5 內核。由於它被標記為英特爾工程師在 2021 年製作的 XHCI 補丁的“修復”,其中引入了這個 120 毫秒的延遲,因此在 Linux 6.5 合併窗口之後,這個補丁也有可能被反向移植到現有的穩定 Linux 內核版本.