我今天在Phoronix上读到,Linux内核有200行的补丁程序,可极大地改善桌面响应能力。
Ubuntu用户如何以受支持的方式获得此信息?
我今天在Phoronix上读到,Linux内核有200行的补丁程序,可极大地改善桌面响应能力。
Ubuntu用户如何以受支持的方式获得此信息?
Answers:
关于这个特定补丁的讨论在Ubuntu内核团队邮件列表中进行:
https://lists.ubuntu.com/archives/kernel-team/2010-November/013498.html
但是让我尝试更笼统地阐述使任何补丁进入Ubuntu内核的最佳方法...
首先,Ubuntu内核团队的首选策略是在将补丁提交到Ubuntu内核之前先向上游提交并接受补丁。必须维护树外补丁对Ubuntu内核团队来说是一个巨大的维护负担。此外,如果该补丁程序将使整个内核社区受益,那么它应该首先进入上游。
一旦补丁在上游被接受,它将最终自动进入Ubuntu内核。如果需要的话,也可以提出樱桃选择或请求请求,有关更多信息,请参见页面KernelPatches。
如果需要将补丁程序作为SRU(稳定版本更新)应用到先前的Ubuntu版本,则最好将补丁程序接受到相应的上游稳定2.6.xy树中。作为我们常规内核SRU流程的一部分,我们会不断改用最新的上游稳定内核。因此,我们最终将再次自动获得补丁。
我刚刚阅读了lkml线程,希望我能提供一些信息-尽管不是关于将补丁放入Ubuntu的信息。正如链接的Ubuntu列表上的帖子所述,无论如何它都可能会出现在2.6.38中。
补丁会根据TTY自动将进程分组。关于lkml的讨论/争论很多,这意味着它与典型的桌面使用无关-它对交互式应用程序没有影响。测试用例全部基于“从终端启动CPU密集型任务,然后查看另一个任务的响应能力”。因此,例如,编译内核并尝试观看视频。
这并不是说它不好,但是如果您从不运行与TTY连接的CPU密集型任务,那么一般的“台式机响应能力会提高一个数量级”类型的标题可能会误导您。我当然可能错了!
提到了通过添加到bash脚本中并允许所有用户创建cgroup来获得非常相似的结果的方法。仅当当前的Ubuntu内核启用了cgroup时,这才起作用。相关职位为:
显然,这并不能回答问题,但可以用来确定补丁是否如所希望的那样神奇。
Ubuntu用户如何以受支持的方式获得此信息?
强调我的。获得支持的唯一方法是等待Ubuntu将其拉入Ubuntu内核。由于这实际上只是进入了内核邮件列表,因此所有测试都是相当有趣的,我想这还需要一段时间才能大规模部署。
在下一个发行版和很长一段时间之间的某个地方是我未受过教育的猜测。
但是,如果您是个大男孩(或女孩),并且在出现问题时可以应对损坏的内核(即,您知道如何使用grub),则可以修补和编译自己的内核。
下载补丁。有不同的版本,但是最好的版本是由另一个用户在下面发布的:http : //pavlinux.ru/krnl/sched_autogroup-2.6.36.patch.bz2
下载您的补丁程序目标版本的内核源代码。在这种情况下2.6.36。您可以从kernel.org获取vanilla(原始的,未经Ubuntu内核团队修改)的内核源并将其解压缩。
将补丁保存到某个地方,然后通过cd
进入内核源目录并运行它来应用它:(patch -p1 < /path/to/patch
您需要此patch
软件包...我认为build-essential
这是默认情况下未安装的一部分)
然后继续进行其余的“老式”构建过程...我真的不会为较新的方法而烦恼,因为它们针对的是Ubuntu / Debian认可的内核源...此外,旧方法似乎更容易(对我来说)。
构建内核并不难,但是如果您偏离可接受的路径太远,则可能会使其混乱。如果出现问题,您将不会获得官方支持。
另外,内置补丁(或至少在源代码树中,等待下一个版本)的内核也越来越多。
注意:这两个内核(可能还有其他两个内核)都与Ubuntu的内核处理方式有所不同。您可能会发现(就像我搬到Liquorix时所做的那样),CPU频率缩放停止工作或挂起被破坏了。通常有修复程序和变通办法,但是由于我们无法检查其中的每个内核,因此您可能无法从AskUbuntu或Ubuntu社区的其余部分获得支持。
您可以使用RedHat开发人员在邮件列表上发布的简单“ hack”,它不需要修补内核就可以得到相同的结果。在这里阅读有关它的信息:可以立即使用的“ 200行奇妙的内核补丁”的替代方法
自2011年1月18日起,Linux 2.6.38-rc1包含上述补丁。
请参阅相关的Phoronix新闻和Linus帖子。
从2011年1月29日开始,Natty Narwhal的每日构建版本随Linux 2.6.38一起提供。
因此,目前有两种解决方案: