为什么 12.04 删除了 -server 内核风格?

gen*_*ima 13 server kernel 12.04

Ubuntu 正在删除 -server 风格,如 12.04 的发行说明中所述:

与 Beta-1 一样,Beta-2 内核不再带有单独的 amd64 -server 和 -generic 内核风格。这些已合并为单一的通用内核风格,以帮助减轻此 LTS 版本生命周期内的维护负担。

-generic 和 -server 之间的差异似乎与抢占、定时器中断和 i/o 调度程序有关,如上所述:https : //help.ubuntu.com/10.10/serverguide/C/preparing-to-install .html#intro-kernel-diffs

我要的是技术规格。

  1. 那么,现在会发生什么?
  2. 服务器版会在没有性能损失的情况下运行桌面内核吗?
  3. 这是有道理的吗?
  4. 这些差异会发生什么?
  5. 它们可以在用户空间中更改吗?
  6. 有没有适用于 12.04?
  7. 如果答案是肯定的,这种变化是否会涉及性能损失?

所有这些都是可以回答的问题。我要求对包裹进行特定更改,而不是其他任何更改。

小智 9

正如您在发布公告中所注意到的,12.04 版本合并了通用内核和服务器内核风格,以减少 LTS 生命周期内的维护负担。这两种内核风格实际上仅在 2 个主要内核配置选项方面有所不同:默认 I/O 调度程序和抢占模型。

这在 Ubuntu 内核团队邮件列表中有详细讨论

如该线程所述,默认 I/O 调度程序从“deadline”更改为“cfq”。但是,任何想要继续使用 Deadline I/O 调度程序的人都可以在启动时通过设置elevator=deadline.

抢占模型从 CONFIG_PREEMPT_NONE 更改为 CONFIG_PREEMPT_VOLUNTARY。目前,很遗憾,我手头没有任何性能基准可供您参考。希望这对一些人有所帮助。谢谢。


小智 7

您的“为什么”问题在您提供的报价中得到了回答 - 因为这样更容易维护。内核功能参数化得很好,您可以在运行时更改调度程序等内容,因此没有迫切需要编译不同的默认值。

对于确切的原因和细节的讨论,您必须在 Ubuntu KernelTeam 邮件列表中询问 - 请参阅信息性 KernelTeam Wiki 页面以获取联系信息。