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