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


Answers:


59

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

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

但是让我尝试更笼统地阐述使任何补丁进入Ubuntu内核的最佳方法...

首先,Ubuntu内核团队的首选策略是在将补丁提交到Ubuntu内核之前先向上游提交并接受补丁。必须维护树外补丁对Ubuntu内核团队来说是一个巨大的维护负担。此外,如果该补丁程序将使整个内核社区受益,那么它应该首先进入上游。

一旦补丁在上游被接受,它将最终自动进入Ubuntu内核。如果需要的话,也可以提出樱桃选择或请求请求,有关更多信息,请参见页面KernelPatches

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


4
该补丁可能在v2.6.38内核中,这意味着它可能在Natty版本中。一旦补丁出现在Linus的树中,我们就会更好地了解。
安迪

1
@Andy:更新-好消息:Ubuntu 11.04 Natty Narwhal昨天发布,包含2.6.38,其中包含补丁。
Piskvor 2011年

不幸的是,“ Ubuntu内核团队邮件列表” 链接似乎已失效或不正确。
Greenonline '16

20

我刚刚阅读了lkml线程,希望我能提供一些信息-尽管不是关于将补丁放入Ubuntu的信息。正如链接的Ubuntu列表上的帖子所述,无论如何它都可能会出现在2.6.38中。

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

这并不是说它不好,但是如果您从不运行与TTY连接的CPU密集型任务,那么一般的“台式机响应能力会提高一个数量级”类型的标题可能会误导您。我当然可能错了!

提到了通过添加到bash脚本中并允许所有用户创建cgroup来获得非常相似的结果的方法。仅当当前的Ubuntu内核启用了cgroup时,这才起作用。相关职位为:

显然,这并不能回答问题,但可以用来确定补丁是否如所希望的那样神奇。


4
我认为更多的人需要意识到这一点。
罗迪

12

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

强调我的。获得支持的唯一方法是等待Ubuntu将其拉入Ubuntu内核。由于这实际上只是进入了内核邮件列表,因此所有测试都是相当有趣的,我想这还需要一段时间才能大规模部署。

在下一个发行版和很长一段时间之间的某个地方是我未受过教育的猜测。


但是,如果您是个大男孩(或女孩),并且在出现问题时可以应对损坏的内核(即,您知道如何使用grub),则可以修补和编译自己的内核。

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

  2. 下载您的补丁程序目标版本的内核源代码。在这种情况下2.6.36。您可以从kernel.org获取vanilla(原始的,未经Ubuntu内核团队修改)的内核源并将其解压缩。

  3. 将补丁保存到某个地方,然后通过cd进入内核源目录并运行它来应用它:(patch -p1 < /path/to/patch您需要此patch软件包...我认为build-essential这是默认情况下未安装的一部分)

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

构建内核并不难,但是如果您偏离可接受的路径太远,则可能会使其混乱。如果出现问题,您将不会获得官方支持。


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

  • 我相信Zen Kernel的树中有此补丁,但是我不确定它是否在任何版本中。
  • Liquorix内核有这个烤现在也是。

注意:这两个内核(可能还有其他两个内核)都与Ubuntu的内核处理方式有所不同。您可能会发现(就像我搬到Liquorix时所做的那样),CPU频率缩放停止工作或挂起被破坏了。通常有修复程序和变通办法,但是由于我们无法检查其中的每个内核,因此您可能无法从AskUbuntu或Ubuntu社区的其余部分获得支持。


某人必须在某个公共git分支中已应用此补丁。太多的新闻可不可以,但是我的Google-fu让我失望了。
Karl Bielefeldt 2010年

@Karl zen内核将其保存在其git树中。
奥利(Oli)

甘草已将其应用于其他所有补丁中。我正在运行它,它非常不错。对我(可能还有其他大多数用户)来说,一个主要问题是CPU_FREQ似乎有点技巧。它停留在PERFORMANCE上。
奥利(Oli)



0

我现在才开始讨论,它非常有趣。我写了一篇关于如何在Ubuntu 10.10上启用cgroup修补程序的博客文章

我尚未真正测试它是否有效,因此反馈会很棒!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.