中年Linux Kernel 5.9代码:10.5%是AMD 显卡驱动


在 Linux Kernel 5.9 发布前夕 , 外媒 Phoronix 使用 cloc(源代码行数统计工具)对接近正式版的 5.9 进行了统计 。 根据统计数据显示 , 在 Linux 5.9 Git 中内核代码大约有 2049 万行代码 , 另外还有 358 万行代码注释和 372 万空白行 。Linux 5.9 大约有 2781 万行 , 分布在约 5.9 万个源文件中 。
中年Linux Kernel 5.9代码:10.5%是AMD 显卡驱动
本文插图
曾经有段时间 ,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 代码 。
中年Linux Kernel 5.9代码:10.5%是AMD 显卡驱动
本文插图
【中年Linux Kernel 5.9代码:10.5%是AMD 显卡驱动】
为了和 GPU 驱动的尺寸做个对比 ,英特尔 &ldquoi915&rdquo内核驱动只有 20.9 万行代码 , 3.92 万行注释和 4.8 万的空白行 。 开源的 NVIDIA "Nouveau" 驱动只有 14.9 万行 , 2.56 行注释和1.99万空白行 。
中年Linux Kernel 5.9代码:10.5%是AMD 显卡驱动
本文插图