Linux内核新闻 - 2013年12月
主线版本(Linus的树)新闻
2013年的最后一个3.13候选版本于12月29日发布。这个3.13-rc6版本很小,仅包含对infiniband、gpu、cpufreq、libata和块驱动程序的81个提交,以及一些小的文件系统修复和ARM SoC相关的更改。请阅读3.13-rc6发布公告。
在圣诞节前的12月22日,发布了3.13-rc5。此rc中的更改包括驱动程序、架构、文件系统、调度器和mm (numa) 修复。此版本公告中的一个重要新闻是关于3.14合并窗口将在Linus Torvalds从澳大利亚的Linux会议回来后开始。请查找3.13-rc5发布公告的全文。
3.13-rc4于12月15日发布,除了usb、输入和媒体之外,它还包括网络和gpu驱动程序更改。请查找3.13-rc4发布公告。
3.13-rc3于12月6日发布。此候选版本包括对驱动程序、net、scsi、声音、crypto(较为重要的)和ARM DT的更改。请阅读3.13-rc3发布公告。
稳定版本新闻
截至撰写本文时,最新的稳定版本如下
版本 | 版本号 | 预计EOL |
---|---|---|
稳定版 3.12 | 3.12.6 | 未公布 |
稳定版 3.11 | 3.11.10 | EOL 2013年11月29日 |
长期维护版 3.10 | 3.10.25 | 2015年9月 |
长期维护版 3.4 | 3.4.75 | 2014年10月 |
长期维护版 3.2 | 3.2.54 | 2016 |
长期维护版 3.0 | 3.0.101 | EOL 2013年10月22日 |
长期维护版 2.6.34 | 2.6.34.14 | 2013年中期 |
长期维护版 2.6.32 | 2.6.32.61 | 2014年中期 |
扩展稳定版 3.11.y.z | 3.11.10.2 | 扩展稳定版 |
扩展稳定版 3.8.y.z | 3.8.13.15 | 扩展稳定版 |
扩展稳定版 3.5.y.z | 3.5.7.28 | 扩展稳定版 |
如果您想知道这些稳定版本是如何管理的以及新版本发布的频率,请参阅更多详细信息:活跃内核版本
Linux RT
Linux RT 稳定版本非常多。请查看 linux-stable-rt.git 以获取其最新版本。
在哪里可以找到 Linux 版本的全部 git 树?
Linux 版本 | Git |
---|---|
主线 | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git |
稳定版本(全部) | git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git |
Linux RT 版本 | git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git |
扩展稳定版本 | git://kernel.ubuntu.com/ubuntu/linux.git |
前沿 linux-next | git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git |
3.14 内容?
3.14合并窗口已经有一些内容在准备中。bcache修复和增强功能,以及Arasan的SDHCI驱动程序是我关注的重点。
能量感知调度用例和调度器问题
Morten Rasmussen (ARM) 发送了用例、问题和系统拓扑的详细描述,作为对 2013 年内核峰会能量感知调度研讨会上调度器维护人员请求的后续。这些用例为提高调度器中的能量感知提供了背景。此主题还包括阻止当前调度器在常见用例中实现良好能量/性能平衡的问题列表。这种平衡对于节省电池电量非常重要,同时在用户操作需要峰值性能时保持响应。这些用例最初侧重于 Android,但随着讨论的继续,有望出现涵盖其他感兴趣领域的用例。一个不了解电源拓扑、频率缩放和异构核心的调度器将做出次优的任务迁移决策,这可能导致性能不佳以及能源节省效果差。在 3 个 CPU 上调度音频任务可能会消耗更多能量,而没有可衡量的性能提升。如果 CPU 可以单独断电,则可以在单个 CPU 上满足音频性能需求,而使其他 2 个 CPU 保持空闲。另一方面,使用单个 CPU 播放视频将需要 CPU 以更高的频率运行,这将比将视频任务分散到多个以较低频率运行的 CPU 上消耗更多的功率。为了使调度器做出这些决策,它需要了解能量拓扑以及任务行为。
在某些情况下,与将空闲 CPU 变为完全活动状态的成本相比,在活动 CPU 上调度任务更有利于节能。如果调度器知道 CPU 空闲状态,则它可以评估 CPU 处于空闲状态的深度,并估计将该 CPU 变为活动状态的成本。在异构系统上,在更快的 CPU 上调度低强度工作负载可能会导致更高的能源成本。在这种情况下,异构系统是指具有不同类型 CPU 的系统,例如,A15 和 A7 的混合。如果调度器具有此信息,则它可以做出智能的调度决策,从而实现良好的能量/性能平衡。
一般来说,避免更高的 CPU 频率并仅在工作负载可以从以更高频率运行时受益时才运行它们是节能的。但是,此规则不能普遍应用于所有工作负载和平台。听起来很复杂,不是吗?除了预测在单个 CPU 上调度工作负载中的任务还是将它们分散在多个 CPU 上更节能所涉及的复杂性之外,还需要关注平台之间的差异。以工作负载为中心的调度器在所有平台上都无法很好地扩展,因为以更高频率运行 CPU 所需的能量高度依赖于平台。
原始主题已发布到 linux-pm 邮件列表,并已重新发布到 LKML,以促进与更大的 Linux 内核开发者社区的讨论。请在 能量感知调度用例和调度器问题 中找到讨论。
Linux Allwinner ARM SoC 上游支持?
linux-sunxi 社区在为 Allwinner ARM 开源硬件 SoC 添加支持方面取得了稳步进展。很有可能大部分支持将包含在 3.14 或 3.15 中。同时也在努力在 Fedora 21+ 内核中添加对这些板子的支持。
对低成本开源硬件板子的上游支持将使更多开发者和爱好者能够参与进来。有关源代码,请参阅 arch/arm/mach-sunxi,有关各种 sunxi 板子的设备树,请参阅 arch/arm/boot/dts。有关主线化工作的更多信息,请阅读 Sunxi Linux 主线化工作。
DMAengine 驱动程序的工作正在进行中,SPI、SDIO、SATA 和 AXP209 驱动程序也在开发中。AXP209 是 A10、A13 和 A20 SoC 使用的 PMU(电源管理单元)。有关 Fedora 工作的更多信息,请参见以下公告:在 Fedora 21+ 内核中支持 Allwinner ARM SoC ...。
最终想法
能量感知调度工作早就应该进行了。当前的调度器无法满足各种工作负载的需求,并且无法在移动设备上平衡节能和性能。希望 2014 年将看到一些具体的讨论,并朝着将能量感知功能纳入和/或增强当前调度器的方向发展。所有这些都需要以一种不会破坏常见工作负载性能的方式完成。
接下来是 3.13 集成周期的剩余部分以及大约 2 周后 3.13 本身的发布。3.14 的开发正在收尾,合并窗口就在眼前。祝大家 2014 年快乐且富有成效。继续提交补丁。