Categories
科技報導

Linux 5.9將改進頁面鎖定以解決性能下降的問題



Phoronix報告稱,基於AMD EPYC平台的Linux 5.0〜5.9內核基準測試表明,正在開發的Linux 5.9內核在某些工作負載條件下具有性能下降的問題。據報導,此問題主要發生在測試項目中,例如Apache HTTPD Web服務器。 為了解決這個問題,由Linus Torvalds領導的開發團隊決定將其中的一分為二,並提出基於頁面鎖定公平性的解決方案。

1.jpg

(摘自:鳳凰)

這個問題的基本原理有點複雜。 簡單地說,頁面鎖定太“公平”,有時會導致性能下降。

Linus Torvalds和其他開發人員共同研究瞭如何進一步改善頁面鎖定行為,今天將短期解決方案合併到Linux 5.9的主線補丁更新中。

2.jpg

這種稱為2a9127fcf229的合併提交(毫米:重寫wait_on_page_bit_common()邏輯“)允許更改控制頁面鎖不公平性的參數。如果在有鎖的情況下等待,系統將嚴格按照順序移動數據。

3.png

此修訂旨在消除長期存在的“看門狗”故障,該故障涉及在極端負載條件下的頁面鎖定。 在此過程中,如果它被其他頁面鎖定,則相關過程可能會陷入永久等待狀態。

4.png

此外,儘管Linux 5.9在某些基準測試項目上具有非常搶眼的性能,但副作用是,其他一些基準測試項目的性能已大大下降,例如平均延遲和吞吐量下降。

5.png

此修訂版沒有完全撤消以前的策略,但是引入了可控制的解決方案以解決頁面鎖定的不公平性。 儘管默認設置相對平衡,但是有需要的開發人員仍然可以通過sysctl界面對其進行調整。

6.png

顯然,這些解決方案圍繞頁面鎖定的重要性和在某些鎖定條件下的競爭程度而展開,但是主要的論點似乎與IO(頁面鎖定的起源)無關,並且頁面文件的映射相對穩定(錯誤地插入頁表除外)。

7.png

另外,開發人員還可以通過sysctl sysctl_page_lock_unfairness(或/ proc / sys / vm / page_lock_unfairness)(默認值為0是公平模式)來調整內核頁面鎖定的不公平程度。