Linux Kernel 5.9代碼統計:10.5%是AMD Radeon顯卡驅動
在Linux Kernel 5.9 發布前夕,外媒Phoronix 使用cloc(源代碼行數統計工具)對接近正式版的5.9 進行了統計。根據統計數據顯示,在Linux 5.9 Git 中內核代碼大約有2049 萬行代碼,另外還有358 萬行代碼註釋和372 萬空白行。Linux 5.9 大約有2781 萬行,分佈在約5.9 萬個源文件中。
曾經有段時間,AMD GPU內核圖形驅動佔據了200多萬行的代碼,是內核驅動樹中最大的分支。在Linux 5.9中,它的代碼行數為216萬行,此外還有24.7萬行註釋和1.09萬空白行。包括AMDKFD, PowerPlay, DC在內,AMD DRM驅動程序代碼的數量多達到251萬行。
大部分的AMDGPU 驅動代碼之所以如此大,主要是GPU 註冊的自動生成頭文件。事實上在Linux Kernel 5.9 中,為AMDGPU 的簡單頭文件就有179 萬行。在271 萬行代碼中,有36.6 萬行是實際的C 代碼。
為了和GPU驅動的尺寸做個對比,英特爾“i915”內核驅動只有20.9萬行代碼,3.92萬行註釋和4.8萬的空白行。開源的NVIDIA “Nouveau”驅動只有14.9萬行,2.56行註釋和1.99萬空白行。