泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:http://tinylab.org
本站首次开课,25 号全部上线,加薪升职走起!
请稍侯

[ 点 我 解 锁 ]

加微信 tinylab 可申请进 Linux 技术微信群。

扫码关注 泰晓科技 并发送 ,一天后即可 永久解锁

(手机浏览时,先截图发往微信,再扫码)

泰晓资讯·07月 / 第四期 / 2019

Wang Chen 创作于 2019/07/26

“泰晓资讯”,广泛报道 “Linux/开源” 业界资讯。欢迎广大读者投递相关资讯来源和素材,本站将进一步收集整理后发布给大家。

关键词: Linux Lab, v0.2 rc1

继 6 月 28 日发布 v0.1 之后,Linux Lab 终于迎来 v0.2 的第一个 rc 版本:v0.2-rc1,该版本除了修复部分功能完善文档外,新增了对国产龙芯处理器的全面支持,并为所有平台添加了外部交叉编译器支持,还促成了码云新增三大资源(qemu、uboot 和 buildroot)的每日更新镜像。

The source code for Apollo 11 has now been shared by a former NASA intern Chris Garry on GitHub. The code hints of the impeccable sense of humour of the programmers as they toiled away at their machines. The code refers the classic “Burn, Baby, Burn” by radio DJ, Magnificent Montague as it calls the Master Ignition Routine.

关键词: Apollo 11, source code, Github

协助人类登月的阿波罗 11 号飞船,到底它的制导电脑所用的软件是怎么样呢?这份曾经由谷歌保管的源代码,被前 NASA 实习生 Chris Garry 张贴在 GitHub 上向所有人予以公开,让公众都可以得知 NASA 编写的登月制导程序是如何工作的。具体的 Github 仓库路径为 https://github.com/chrislgarry/Apollo-11。 有关更多有关这份代码的介绍,可以阅读仓库自带的 中文版 README

关键词: Deepin, V15.11

在 2019 年 7 月 19 日,深度科技发布了 Deepin 15.11(深度操作系统 V15.11)版本。该版带来了很多的新功能/特性,与上一个版本相比,深度操作系统 V15.11 对 kwin 进行了新的优化和适配,稳定性和兼容性大幅度提升,新增 deepin 云同步,提高了文件管理器性能,新增光盘刻录功能,修复了大量已知 bug,deepin V15.11 将为您带来更加美观流畅、便捷爽快的使用体验。

The kernel’s deadline scheduling class (SCHED_DEADLINE) enables realtime scheduling where every task is guaranteed to meet its deadlines. Unfortunately SCHED_DEADLINE’s current view on CPU capacity is far too simple. It doesn’t take dynamic voltage and frequency scaling (DVFS), simultaneous multithreading (SMT), asymmetric CPU capacity, or any kind of performance capping (e.g. due to thermal constraints) into consideration. Regarding the realtime scheduling class (SCHED_RT), it also has issues when it comes to using it in a mobile system. Running RT tasks at the highest CPU capacity, the way mainline Linux does, is too expensive and not always required. SCHED_RT also assumes symmetric CPU capacities and is unaware of running or runnable CFS tasks.

关键词: Linux, SCHED_DEADLINE, SCHED_RT

众所周知 Linux 内核中包含一个名为 SCHED_DEADLINE 的调度策略,专门用于满足需要在给定的时间期限(deadline)之内完成某项任务的实时调度场景。不过,可惜的是 SCHED_DEADLINE 目前的功能还比较简单,完全没有考虑诸如 “动态电压和频率调节(Dynamic Voltage and Frequency Scaling,简称 DVFS)”,“并发多线程(Simultaneous MultiThreading,简称 SMT)”,“非对称处理器架构 (Asymmetric CPU)”(最典型的譬如应用于移动计算领域的 ARM 处理器上所支持的 big.LITTLE 架构),以及各种性能限制策略(例如温度过高时需要限制 CPU 性能)这类应用场景。类似的,对于另一类调度策略 SCHED_RT,由于其设计上是基于 CPU 的计算能力全部都是对称这样的假设,在现代移动设备上使用的话也会存在一定的问题。在今年刚刚结束的第三届 Operating-System-Directed Power-Management (简称 OSPM)峰会上针对这两类调度策略的问题和解决方法展开了深入的讨论。

On NUMA systems with a lot of CPUs, it is common to assign parts of the workload to different subsets of the available processors. This partitioning can improve performance while reducing the ability of jobs to interfere with each other. The partitioning mechanisms available on current kernels might just do too good a job in some situations, though, leaving some CPUs idle while others are overutilized. The soft affinity patch set from Subhra Mazumdar is an attempt to improve performance by making that partitioning more porous.

关键词: Linux, CPU-affinity

NUMA 系统上有许多 CPU,我们经常会需要把一些工作指定到某些处理器上去,也就是利用 sched_setaffinity() 系统调用或者 cpuset 机制来限制进程在一部分处理器上运行。但这两种方法的处理方式目前看起来比较死板,一旦指定一个进程只能在部分 CPU 上运行,那么就只能限制在这些 CPU上,即使其他 CPU 目前处于 idle 状态,也不会去使用它们。而所谓的 “Soft CPU affinity” 就是由 Subhra Mazumdar 提出的一种新的思路,希望能够在这个问题上引入更灵活的处理机制。

The Android system has shipped a couple of allocators for DMA buffers over the years; first came PMEM, then its replacement ION. The ION allocator has been in use since around 2012, but it remains stuck in the kernel’s staging tree. The work to add ION to the mainline started in 2013; at that time, the allocator had multiple issues that made inclusion impossible. Recently, John Stultz posted a patch set introducing DMA-BUF heaps, an evolution of ION, that is designed to do exactly that — get the Android DMA-buffer allocator to the mainline Linux kernel.

关键词: Linux, Android, ION

过去几年来,Android 系统里面已经使用过多种针对 DMA buffer 的分配方案。首先是 PMEM,然后被 ION 所替换。ION 自从 2012年 开始被正式使用以来,其代码一直放在内核的 staging 目录下。从 2013 年开始社区开始尝试把 ION 加入主线,但由于当时还存在不少问题,因此一直未能合入。最近,John Stultz 发布了一个补丁集,进一步改进了 ION,引入了针对 DMA buffer 的堆(heap)机制,希望在此基础上能够进一步推动 Android 的 DMA buffer allocator 代码被合入 Linux 内核的主线。

联系我们

资讯内容部分来自 “LWN.net“。如果您对某些 LWN 文章感兴趣(譬如希望获得全文翻译的)请扫描二维码加微信联系我们:

tinylab wechat


泰晓资讯,汇总一周技术趣闻与文章。


广而告之:本站首次开发的 Linux C 语言进阶课将于 25 号全部上线,加薪升职必备!

Read Album:

Read Related:

Read Latest: