Linux 串行控制臺的驅動程序補丁實現約 25% 的性能提升
據外媒 Phoronix 報道,Red Hat 工程師偶然發現 Linux 串行控制臺的性能非常低下,因此在 Linux 5.17 內核中引入了一些等待處理的改進補丁,以改進串行控制臺吞吐量。
Red Hat 的 Wander Lairson Costa 注意到其 HP Proliant DL380 Gen9 服務器的串行控制臺吞吐量遠低于預期:預期是 10KB/s,但當前 Linux 內核只有 2.5KB/s 左右。Linux 8250 串行控制臺驅動程序僅調度一個字節就需要大約 410 微秒。
Wander 借助 Linux 8250/16550 串行端口控制臺驅動程序來提高其性能,16550 串口具有芯片 FIFO 緩沖區,現在 8250 串行驅動程序的寫入操作(write)會使用該緩沖區(在支持的系統上)。通過此補丁可以使用受支持的 16550 串口 FIFO 緩沖區,受影響系統上的 8250 控制臺驅動程序的串行控制臺,吞吐量性能提高了約 25%。
該補丁由 Greg Kroah-Hartman 作為Linux 5.17 合并窗口的 TTY/串行更新的一部分發送,此外還有 TTY 代碼清理等工作,還修復了在 TTY 控制臺與桌面之間使用 Ctrl + Alt + Fn 鍵切換時,鍵盤鎖定 LED 變得不一致的長期問題。
本文轉自OSCHINA
本文標題:Linux 串行控制臺的驅動程序補丁實現約 25% 的性能提升
本文地址:https://www.oschina.net/news/178244/linux-serial-16550-uart-fifo