2014-01-08 21 views
0

Debian的make-kpkg实用程序可以同时构建许多内核块。设置CONCURRENCY_LEVEL =核心+ 1是获得最佳性能的一般经验法则。这不是一个错误的猜测。Debian,make-kpkg和Linux内核开发

我为各种整数编写了脚本。以下是八核Xeon上的内核编译时间。内核配置是Debian内核3.12包的默认配置。

CONCURRENCY_LEVEL=1 real 57m17.953s 
CONCURRENCY_LEVEL=2 real 30m26.084s 
CONCURRENCY_LEVEL=3 real 21m39.387s 
CONCURRENCY_LEVEL=4 real 17m13.022s 
CONCURRENCY_LEVEL=5 real 14m41.180s 
CONCURRENCY_LEVEL=6 real 13m8.875s 
CONCURRENCY_LEVEL=7 real 12m8.646s 
CONCURRENCY_LEVEL=8 real 11m55.420s 
CONCURRENCY_LEVEL=9 real 13m27.034s 
CONCURRENCY_LEVEL=10 real 14m17.753s 
CONCURRENCY_LEVEL=11 real 14m45.664s 
CONCURRENCY_LEVEL=12 real 15m1.784s 
CONCURRENCY_LEVEL=13 real 15m10.595s 
CONCURRENCY_LEVEL=14 real 15m19.862s 
CONCURRENCY_LEVEL=15 real 15m24.915s 

阅读make-kpkg还生成可平凡安装一个DEB包文件。相比之下,至少有一个官方的Fedora文档经过了一个手工构建RPM的广泛过程,用于实现我认为的同一个目标 - 自动化依赖关系解决方案。这很痛苦。我怀疑Gentoo会被剥夺任何关于包裹的担忧。

所以我有几个经验的内核开发者的问题。并发内核是否获得了巨大的胜利,并且其他任何发行版都能提供它?并且正在与包管理一起编写一个大赢家?

在此先感谢。

回答

1

CONCURRENCY_LEVEL的值只是传递给make-j选项。 Debian的内核构建过程没有什么特别之处;上游内核源代码已经支持多年。