我们如何获得这个神奇的、能提升性能的 200 行补丁呢?

我们如何获得这个神奇的、能提升性能的 200 行补丁呢?

今天在 Phoronix 上阅读有一个200 行补丁Linux 内核大大提高了桌面响应能力。

Ubuntu 用户如何以受支持的方式获得此功能?

答案1

关于此特定补丁的讨论在 Ubuntu 内核团队邮件列表中进行:

https://lists.ubuntu.com/archives/kernel-team/2010-November/013498.html

但是,让我尝试更详细地阐述任何补丁进入 Ubuntu 内核的最佳方式……

首先,Ubuntu 内核团队的首选政策是,补丁必须先提交并接受上游,然后才能纳入 Ubuntu 内核。Ubuntu 内核团队必须维护树外补丁,这给 Ubuntu 内核团队带来了巨大的维护负担。此外,如果补丁将使整个内核社区受益,则应首先将其提交上游。

一旦补丁被上游接受,它最终将自动进入 Ubuntu 内核。如果需要,也可以进行 cherry-pick 或 pull 请求,请参阅页面,内核补丁, 了解更多信息。

如果需要将补丁作为 SRU 应用(稳定版本更新) 到以前的 Ubuntu 版本,最好让补丁被接受到相应的上游稳定 2.6.xy 树中。作为我们正常内核 SRU 流程的一部分,我们不断重新定位到最新的上游稳定内核。因此,我们最终会再次自动获得补丁。

答案2

我刚刚读了 lkml 帖子,希望可以提供一些信息 - 虽然不是关于如何将补丁放入 Ubuntu 的信息。正如链接的 Ubuntu 列表上的一篇文章所说,它可能会在 2.6.38 中。

该补丁会自动根据 TTY 对进程进行分组。lkml 上有很多讨论/争论,认为这意味着它与典型的桌面使用无关 - 它对交互式应用程序没有影响。测试用例都是围绕“从终端启动 CPU 密集型任务,然后查看另一个任务的响应能力”进行的。例如,编译内核并尝试观看视频。

这并不是说它不好,但如果你从未运行过连接到 TTY 的 CPU 密集型任务,那么一般的“桌面响应能力提高了一个数量级”之类的标题可能会产生误导。当然,我可能是错的!

有人提到了通过添加到 bash 脚本并允许所有用户创建 cgroups 来实现非常相似的结果的方法。这只有在当前 Ubuntu 内核启用了 cgroups 时才有效。相关帖子如下:

显然这并没有回答问题,但它可以用来确定补丁是否像希望的那样神奇。

答案3

Ubuntu 用户如何才能以支持的

重点是我。唯一能以受支持的方式获得它的方法就是等待 Ubuntu 将其拉入 Ubuntu 内核。由于这实际上只是进入内核邮件列表,所以它还很新,所有测试都相当轶事,我想它还需要一段时间才能准备好大规模部署。

我毫无根据的猜测是,这将发生在下一个版本发布和很长一段时间之间。


但是如果您已经是一个大孩子(或者大女孩),并且能够在出现问题时应对损坏的内核(即您知道如何使用 grub),那么您可以修补并编译您自己的内核。

  1. 下载补丁。有不同的版本,但最好的版本由另一个用户发布如下:http://pavlinux.ru/krnl/sched_autogroup-2.6.36.patch.bz2

  2. 下载补丁所针对版本的内核源代码。本例中为 2.6.36。你可以从以下地址获取 vanilla(即原始的、未经 Ubuntu 内核团队修改的)内核源代码内核网站并将其提取。

  3. 将补丁保存在某处,然后通过cd进入内核源目录并运行来应用它:(patch -p1 < /path/to/patch您需要这个包......我认为如果它不是默认安装的,它patch会作为其中的一部分出现)build-essential

  4. 然后继续其余的“老式”构建过程......我真的不会为新方法烦恼,因为它们针对的是 Ubuntu/Debian 认可的内核源代码......而且旧方法似乎更容易(对我来说)。

构建内核并不难,但如果你偏离公认的路径太远,就会把事情搞砸。如果出了问题,你也不会得到官方支持。


或者,有越来越多的内核内置了补丁(或者至少在源代码树中,等待下一个版本)。

  • 我相信禅宗内核他们的树中有这个补丁,但我不确定它是否在任何版本中。
  • 甘草仁现在也已经融入其中了。

注意:这两个内核(可能还有其他内核)与 Ubuntu 的内核处理方式有些不同。您可能会发现(就像我转到 Liquorix 时一样)CPU 频率调整停止工作或暂停功能被破坏。通常会有修复和解决方法,但您可能不会从 AskUbuntu 或 Ubuntu 社区的其他部分获得支持,因为我们无法检查那里的每个内核。

答案4

自 2011-01-18 起,Linux 2.6.38-rc1 包含该补丁。
请参阅相关Phoronix 新闻莱纳斯·波斯特

截至 2011 年 1 月 29 日,Natty Narwhal 每日构建版本搭载 Linux 2.6.38。

因此,目前有两种解决方案:

相关内容