泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

泰晓Linux知识星球:1300+知识点,520+用户
请稍侯

泰晓资讯·7月 / 第二期 / 2020

Wang Chen 创作于 2020/07/17

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

Linux Lab 发布 v0.5 rc1,与龙芯零距离

Linux Lab 于 5 月底发布了 v0.4 正式版,本次发布 v0.5 的第一个候选版本:v0.5-rc1,一同发布的还有 Cloud Lab 的 v0.3-rc2

本次合计 65 笔变更:

本次变更不算多,但是对 v0.4 而言,都是很重要的里程碑:

  • 全面完善并合并早期对龙芯全系处理器的支持
    • 目前已经支持 4 块开发板:mipsel/ls1b, mipsel/ls2k, mipsel/ls232, mipsel/ls3a7a
    • 其中 ls1b 已经支持 mainline v5.2,ls2k 和 ls3a7a 有望在 v5.8/v5.9 获得完整支持
  • 全面升级开发环境基础镜像到 Ubuntu 20.04
    • 大部分准备工作都已经开发完成并合并到了当前版本,部分兼容和适配工作还在继续
    • 新环境预计会在 v0.6 正式启用,当前可以切到 Cloud Lab 的 next 分支使用

其他更多详细介绍请阅读官网发布:https://tinylab.org/linux-lab-v05-rc1/

关键词: Linux Lab,v0.5-rc1

看看 Linux 5.8 合并窗口中都合入了哪些好东西

By the time Linus Torvalds released 5.8-rc1 and closed the merge window for this development cycle, 14,206 non-merge changesets had been pulled into the repository for 5.8. That is more work than was pulled for the entire 5.7 cycle; clearly development work on the kernel has not (yet) slowed down in response to events in the wider world.

截至 Linus Torvalds 发布 5.8-rc1 并关闭本次开发周期的合并窗口之际,据统计已经合入了总计 14,206 个修改合。这比起整个 5.7 版本的开发周期中所合入的改动数量还要多,看起来内核的开发工作进度并没有受到来自纷纷扰扰的外部世界的影响。

这里主要摘录了 core kernel 和 architecture 相关的改动内容,更多详细的修改记录可以参考 LWN 原文 “5.8 Merge window, part 1” 以及 “5.8 Merge window, part 2”

  • 体系架构方面:
    • Arm64,合入了 Branch-target identification 和 shadow call stacks (有关这两个特性的介绍请参考此文:https://lwn.net/Articles/804982/) 。两者都用于安全加固。其中对 shadow call stack 的支持有望很快被移植到其他架构上。
    • RISC-V,增加了 KGDB kernel debugger 调试功能。
  • Core kernel:
    • 新增 faccessat2() 系统调用,并终于实现了 POSIX 标准中一直要求的 flags 参数。这是对旧的 faccessat() 的一大改进。
    • io_uring 子系统支持了 tee() 系统调用。
    • 合入了 BPF iterator 机制,从而可以利用 kernel 的 dump 机制把数据结构抓取到用户空间。具体介绍参考这篇文章:https://lwn.net/Articles/818714/
    • 新增了一个 ring buffer 用来和 BPF 程序进行数据通讯。该 buffer 可以起到和当前的 perf ring buffer 相同的作用但区别是可以允许在多个 CPU 之间共享该 buffer。有关该设计的详细说明请参见:https://git.kernel.org/linus/97abb2b39682。
    • padata 机制现在可以支持 multi-threaded jobs 的负载均衡了。具体修改参见:https://git.kernel.org/linus/ec3b39c73189。更多有关 padata 机制的介绍可以参考内核文档 https://www.kernel.org/doc/html/latest/core-api/padata.html。
    • 内核的 swappiness 设置开关设计用于调节对 file-backed pages 和 anonymous pages 的回收。此前一直不倾向于 swapping anonymous pages。不过对于 fast I/O 设备来说,swapping 的速度会比文件系统访问还要快,因此目前看起来优先进行 swapping 或许更高效。为实现该目的,针对 5.8 版本加入的修改使得 swappiness 值最大可以设置为 200。具体修改细节参见 https://git.kernel.org/linus/c843966c556d。
    • 如果 loadable module 中的某个 section 既允许 write 也允许 execution,那么内核将拒绝加载此 module。这是一项大工程(确保 kernel 的 memory 不可以既 writable 又 executable)的一部分。
    • 经过多年开发之后,所谓的 “generalized kernel event-notification” 机制终于被合入了。该补丁的整体介绍可以参见 https://git.kernel.org/linus/6c3297841472,也可以阅读 https://git.kernel.org/linus/c73be61cede5 来进一步了解这个新增的 subsystem。LWN 在 2018 年就对该机制有过专文介绍,感兴趣也可以回顾一下这篇文章 “A kernel event notification mechanism”

关键词: Linux,5.8

你的 GitHub 代码已打包运往北极,传给一千年后的人类

At GitHub Universe 2019, we introduced the GitHub Archive Program along with the GitHub Arctic Code Vault. Our mission is to preserve open source software for future generations by storing your code in an archive built to last a thousand years.

On February 2, 2020, we took a snapshot of all active public repositories on GitHub to archive in the vault. Over the last several months, our archive partners Piql, wrote 21TB of repository data to 186 reels of piqlFilm (digital photosensitive archival film). Our original plan was for our team to fly to Norway and personally escort the world’s open source code to the Arctic, but as the world continues to endure a global pandemic, we had to adjust our plans. We stayed in close contact with our partners, waiting for the time when it was safe for them to travel to Svalbard. We’re happy to report that the code was successfully deposited in the Arctic Code Vault on July 8, 2020.

GitHub 在 2019 发布了 GitHub 存档计划 以及 GitHub 北极代码库。Github 的使命是通过将代码存储在一个可以持续一千年的仓库中,为我们的子孙后代保留这些开源软件。

GitHub 刚刚公布了一组照片,宣布凡是 2020 年 2 月 2 日前的所有活动仓库中的代码上周已经被拍摄成胶片形式,打包运往北极保存。也就是说只要你 2 月 2 日以前在 Github 上贡献过的开源代码,现在都已经被埋在北极的冰雪之下,将会流芳一千年(换句话说,如果你的代码中有 bug,那么同样会 “流芳” 一千年 :-))。

如果想要了解您参与的哪些项目被保存了,只要登录 Github 主页,将鼠标在你首页的 “Highlights” 部分悬停,就能看到有哪些您曾经参与过的项目被保存到了北极。

更多详细内容,请访问 Github 官网 blog: https://github.blog/2020-07-16-github-archive-program-the-journey-of-the-worlds-open-source-code-to-the-arctic/。

P.S. 本条消息由 赵益民 同学友情提供。

关键词: GitHub, Arctic

联系我们

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

tinylab wechat



Read Album:

Read Related:

Read Latest: