LWN: Linux 5.6合并窗口进展——后半部分!

Linux内核5.9+新特性尝鲜:给你的NVMe ZNS SSD装上zonefs文件系统 本文深入探讨了Linux内核5.9+新特性zonefs文件系统在NVMe ZNS SSD上的应用实践。通过详细解析ZNS SSD的架构优势与zonefs的设计哲学,提供从设备检查、文件系统配置到性能调优的全流程指南,帮助开发者高效管理新型存储设备,适用于时序数据库、视频监控等高吞吐场景。 阅读详情

关注了就能看到更多这么棒的文章哦~

The rest of the 5.6 merge window

By Jonathan Corbet
February 10, 2020

原文来自:https://lwn.net/Articles/811230/

Linus在2月9日发布了5.6-rc prepatch,关闭了合入窗口。针对5.6 kernel,有10,780个changset合入了mainline repository。这比起近期的几个开发周期来说少了好多(5.5版本有14,350个,5.4有14,619个),不过跟去年同期的数字差不多(2019年1月的5.0-rc1有10,843个changset)。其中,有约6000个改动是在LWN的上一篇文章之后合入的,下面介绍一下这些改动。

Architecture-specific

  • 在3.19时合入的Intel memory protection extension被移除了。这个功能没能占据市场主流,GCC编译器里面也已经移除了对它的支持代码。

  • RISC-V架构支持了KASAN address sanitizer。

Core kernel

  • 最后一个使用32位timer_t类型的地方被修复了,相关的数据类型也从kernel里面删掉了。也就是说,除了少数一些问题以外,Linux kernel基本已经可以处理好year-2038问题了。user-space还需要不少工作,32位系统上的应用程序需要使用更新后的C库。更多细节见merge commit https://git.kernel.org/linus/22b17db4ea05

  • io_uring subsystem支持了更多操作,参见此文:https://lwn.net/Articles/810414/

  • 合入了pidfd_getfd()系统调用,用来供进程从另一个进程获取一个被打开的文件描述符。

  • "bootconfig"机制允许kernel在启动的时候接受一个包含command-line参数的文件。主要应用场景是例如在boot-time设置kprobe。tools目录下的bootconfig工具是用来把这种文件加入initramfs image里面的。文档见此https://git.kernel.org/linus/7b9b816f4b9a 。还有一组新增参数可以控制boot-time tracing设置的,文档见此 https://git.kernel.org/linus/47781947947a

  • 改变了pipe waiting的工作机制,可以加速kernel并行编译的速度——kernel开发者最常做的工作——不过同时也可能会在搭配旧版本GNU Make工具的时候导致bug。

Filesystems and block I/O

  • F2FS文件系统支持压缩了。参见https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4c8ff7095bef

  • 新增了softreval NFS mount选项,可以在server下线的时候通过缓存里的数据来让attribute revalidation 成功。如change log所说:“这个功能是为了让我们哪怕在server已经无法访问的情况下也可以遍历路径和使用已经缓存的信息(可能会比较慢)”

  • 缺省关闭了通过UDP进行NFS mount的功能。

  • 支持了NFS v4.2 server-to-server文件复制功能。

  • ZoneFS文件系统,协助支持对zoned block device的底层访问功能。参见https://git.kernel.org/linus/8dcc1a9d90c1

Hardware support

  • Clock: Qualcomm MSM8998 multimedia clock controllers, Qualcomm SC7180 clock controllers, Qualcomm IPQ6018 global clock controllers, and NXP IMX8MP CCM clock controllers.

  • Graphics: Boe Himax8279d panels, R-Car DU color-management modules, Xinpeng XPP055C272 panels, Leadtek LTK500HD1829 panels, and Sony ACX424AKP DSI command-mode panels.

  • Miscellaneous: Rockchip image signal processing units, TI TPS61050/TPS61052 LED controllers, ROHM BD71828 Power Management ICs, Qualcomm WCD9340/WCD9341 codecs, SGI IOC3 PS/2 controllers, and Mediatek system companion processors.

  • PCI: Broadcom Brcmstb PCIe host controllers and Intel Gateway PCIe host controllers.

Memory management

  • 新增了一个名为PR_SET_IO_FLUSHER的prctl()操作。目的是把一个进程标记为帮助进行内存回收的I/O操作的,从而在内存紧张的时候这个进程也不会被限制。在kernel里,会对这个进程的task structure设置PF_MEMALLOC_NOIO和PF_LESS_THROTTLE flag。

  • dma-buf heaps subsystem终于合入了,它起源于Android ION allocator。

Security-related

  • /dev/random blocking pool的patch被移除了。这个改动导致/dev/random的行为更像/dev/urandom了,也就是在pool被初始化之后不会再导致blocking。

Virtualization and containers

  • VirtualBox里运行的Linux guest系统现在可以mount由host系统export出来的文件目录了。

Internal kernel changes

  • pin_user_pages() API合入了,用于让kernel能更好地统计有哪些user-space page被pin在RAM里面。不过相应的利用这个功能的完整架构还没有合入。

  • build系统现在会test所有的UAPI头文件的#ifdef标记,避免把它们include了两次。

  • 新增了一个API在kernel生成synthetic trace event,参见https://git.kernel.org/linus/34ed63573b66 (注:可以用于在kernel里面配置监听某些trace event)

从现在到3月底4月初为止,kernel开发社区需要找寻并修复上述所有这些工作引入的bug了。

全文完

LWN文章遵循CC BY-SA 4.0许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注LWN深度文章以及开源社区的各种新近言论~

[协议]高性能存储栈设计 2.2 ZNS 的架构实现先看看 支持zone 存储的 SMR HDD 以及 支持 zonefs 的 nvme ssd 的整个存储栈形态其中对于ceph 这样的应用来说 bluestore或者Seastore 这样的后端引擎是直接管理裸设备的,所以不需要文件系统支持。当然如果需要,也可以通过一个内核支持的小型文件系统zonefs 来进行数据访问。 阅读详情

相关推荐

记一次完整的RPG Maker MV游戏逆向过程(思路一)

了解RPG Maker MV的文件建构 上一篇文章,我们已经成功在PC上运行了游戏,那我们如何对游戏进行逆向呢? 首先要了解正常的RPG Maker MV制作的游戏应该具有哪些文件,以及他的结构 那如何了解他的结构呢,很简单,我们只需要用RPG Maker MV创建一个默认工程,来看看一个游戏的最简结构是怎么样的 创建新项目 项目创建完成 查看项目目录结构 是不是和之前解包出来的很像呢? 通...

Ciiiiiing的博客 1万+

“好玩儿”文件系统大赏

Linux文件系统千千万,奇奇怪怪占一半。作为Unix/Linux操作系统的基本哲学之一,“一切皆文件”的设计思想产生了很多种不同的文件系统。有的文件系统并没有持久性的存储设备,比如:tm...

内核工匠 1240

EMQX 结合MySQL实现精细化ACL权限管理实战

本文详细介绍了如何通过EMQX结合MySQL实现精细化的ACL权限管理,提升物联网设备接入和消息传输的安全性。内容包括环境准备、基础配置、权限规则设计技巧以及高级应用与性能优化方案,帮助开发者快速掌握动态生效、便于管理的权限控制方法。

weixin_28683689的博客 196

Zoned Storage-Linux Kernel Support 之 文件系统

Zoned Storage-Linux Kernel Support之文件系统文件系统zonefs磁盘元数据区域类型子目录区域文件格式选项IO错误处理挂载选项Zonefs 用户空间工具例子f2fs分区块设备支持区域容量支持限制主机管理的 SMR HDD 的使用示例NVMe ZNS SSD 的使用示例BtrfsZoned Block Device SupportBlock Allocation ChangesI/O Management区域容量支持限制系统要求主机管理 SMR HDD 的使用示例XFSext4

keke_Memory的博客 1850

【GEE实战指南】Python本地API配置避坑与一站式环境搭建

本文详细介绍了Google Earth Engine(GEE)Python本地API的配置避坑指南与一站式环境搭建流程。通过conda创建隔离环境、账户认证关键步骤、初始化代码的正确写法以及实战测试案例,帮助开发者快速掌握GEE Python API的配置技巧,避免常见错误,提升地理空间数据分析效率。

weixin_42624889的博客 186

24GHz雷达DIY呼吸监测仪:用树莓派+TI IWR6843搭建生命体征检测系统(附Python代码)

本文详细介绍了如何利用树莓派和TI IWR6843毫米波雷达模块DIY非接触式呼吸监测仪。通过硬件选型、信号处理流水线设计和实时可视化系统搭建,实现高精度的生命体征检测,特别适合医疗健康和运动监测场景。附带的Python代码帮助开发者快速复现该系统。

rl6adventurer的博客 984

NVMe Zoned Namespaces (ZNS) SSDs

分区命名空间(ZNS) ssd代表了主机软件和基于闪存的ssd之间的一种新的功能划分。ZNS SSD将其容量划分为zone,每个zone可以按任意顺序读取,但必须按顺序写入。这些特性允许ZNS SSD改善其内部数据放置,从而通过更高的写吞吐量、更低的QoS和更大的容量获得更高的性能。...

wenj12的博客 6062

VS2022配置Qt6

VS2022配置QT教程

Life is a struggle ! 6359

分区命名空间ZNS

区域大小ZBC、ZAC 和 ZNS 标准不对设备的区域布局施加任何限制(这意味着区域可以是任意大小),但内核 ZBD 支持仅限于所有区域大小相同的区域设备. 区域大小还必须等于逻辑块的数量,即 2 的幂。如果应用程序使用缓冲写入来写入设备的顺序写入所需区域,这可能会导致未对齐的写入错误。为了避免这个陷阱,直接使用没有文件系统的分区块设备的应用程序应该始终使用直接 I/O 操作来写入主机管理磁盘的顺序写入所需区域(也就是说,它们应该发出write()带有使用该 O_DIRECT标志的块设备“文件打开”)。

大隐隐于野 800

GEE——土地利用分类之监督分类

利用GEE做监督分类,以武汉市为例。 训练器我们选择随机森林;数据选择Landsat-8;训练样本使用的是GEE提供的一种,它把地表分为三类:水体、植被和城市用地。 选择训练样本 用要素集来标记训练样本。每个要素都有一个landcover 的属性,0表示城市用地,1表示植被,2表示水体。 对影像进行分类 其中一部分进行分类器的训练,还有一部分留下来做精度验证。 输出影像及混淆矩阵 print(LABEL_DATA); var wuhan = ee.FeatureCollection('users/

qq_41600680的博客 1万+

【信息安全】seed-labs实验-Firewall Exploration Lab

本实验主要就是基于LKM和Netfilter实现简单的防火墙,重点是后者。路由器是有两个ip的,一个是外网ip,一个是内网ip每一次做完实验,都要做好收尾工作(比如:模块装入之后,要记得移除;iptables命令设置完规则之后,要把对应规则删掉)

可乐大牛的博客 5995

LWN:6.7合并窗口的第一部分!

关注了就能看到更多这么棒的文章哦~The first half of the 6.7 merge windowBy Jonathan CorbetNovember 3, 2023ChatGPT translationhttps://lwn.net/Articles/949294/自 6.7 合并窗口打开以来,截至本文写作时已有 9,842 个非合并的变更集(non-merge changeset)...

Linux News搬运工 885

MATLAB基础应用精讲-【数模应用】信用评分模型(附R语言和python代码实现)

信用评分模型是近年来兴起的一种为了保障银行和其他金融部门的金融安全而设立的一种关于人身金融权限的划定模型。该模型指根据客户的信用历史资料,利用一定的信用评分模型,得到不同等级的信用分数,根据客户的信用分数,来决定客户所可以持有的金额权限,从而保证还款等业务的安全性。而随着在现代社会和公司中,贷款,信用卡的作用日渐突出,信用评分模型的发展前景不可估量。信贷风险是指借款人因偿还贷款或履行合同承诺而破产而产生损失的可能性。传统上,它与贷款人无法偿还所欠利息和本金、影响现金流和增加装配成本所产生的风险有关。

qq_36130719的博客 364

LWN: Linux 5.6合并窗口进展——第一部分!

关注了就能看到更多这么棒的文章哦~The 5.6 merge window opensByJonathan CorbetJanuary 30, 2020原文来自:https://lwn...

Linux News搬运工 881

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

LWN:6.14合并窗口第一部分!

关注了就能看到更多这么棒的文章哦~The first part of the 6.14 merge windowBy Jonathan CorbetJanuary 23, 2025Gemini-1.5-flash translationhttps://lwn.net/Articles/1005651/截至本文撰写之时,已有超过 4300 个非合并变更集 (non-merge changeset) ...

Linux News搬运工 963

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

LWN: Linux 5.3合入窗口进展 part 2

点击上方蓝色字关注我们~5.3 Merge window, part 2ByJonathan CorbetJuly 22, 2019在5.3 merge window结...

Linux News搬运工 438

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

LWN:5.19 合并窗口第一部分!

关注了就能看到更多这么棒的文章哦~5.19 Merge window, part 1By Jonathan CorbetMay 27, 2022DeepL assisted translationhttps://lwn.net/Articles/896140/在撰写本文时,针对 5.19 开发周期,已经有将近 4600 个 non-merge changeset 合入 m...

Linux News搬运工 543

LWN:5.7内核合并窗口第一部分!

关注了就能看到更多这么棒的文章哦~5.7 Merge window part 1ByJonathan CorbetApril 3, 2020原文来自:https://lwn.net/A...

Linux News搬运工 666

LWN:5.15 合并窗口第一部分!

关注了就能看到更多这么棒的文章哦~5.15 Merge window, part 1By Jonathan CorbetSeptember 2, 2021DeepL assisted tr...

Linux News搬运工 563

LWN:5.14合并周期的第一部分!

关注了就能看到更多这么棒的文章哦~The first half of the 5.14 merge windowBy Jonathan CorbetJuly 2, 2021DeepL as...

Linux News搬运工 396

LWN: Linux 5.3合入窗口进展 part 1

点击上方蓝色字关注我们~5.3 Merge window, part 1ByJonathan CorbetJuly 12, 2019在Janathan撰写此文的时候,已...

Linux News搬运工 349

LWN:ksmbd 的困难开场!

关注了就能看到更多这么棒的文章哦~A rough start for ksmbdBy Jonathan CorbetOctober 7, 2021DeepL assisted transl...

Linux News搬运工 4606

LWN:关于内存管理部分开发流程的变动!

关注了就能看到更多这么棒的文章哦~The state of memory-management developmentBy Jonathan CorbetMay 10, 2022LSFMMDeepL assisted translationhttps://lwn.net/Articles/894378/2022 年的 Linux 存储、文件系统、内存管理和 BPF 峰会(...

Linux News搬运工 355

LWN:split-lock用户应该受到多重的惩罚?

关注了就能看到更多这么棒的文章哦~The search for the correct amount of split-lock miseryBy Jonathan CorbetOctober 19, 2022DeepL assisted translationhttps://lwn.net/Articles/911219/X86 与许多其他架构不同,它能支持那些会影响超过一个 cache lin...

Linux News搬运工 695

从点屏的角度看drm子系统

至此,在drm子系统中,屏幕是怎么亮起来的这个点已经描述完,而我所遇到的dcs发送问题也基本找到了处理位置,虽然后面的操作硬件发送dcs命令依旧是个难点,但至少drm子系统不再是干扰。不过整篇文章虽然写了不少东西,但对于drm子系统来说仍是冰山一角,如果想再进一步了解,还是需要更加详细的阅读drm源码。我这篇文章就到这了,应该足够让人初步认识到drm运作流程了。

weixin_44041844的博客 2983

Linux 知:文件系统

“一切皆是文件” 是 Unix/Linux 的基本哲学之一。这句话中的 “文件” 不仅仅是指我们通常所说的文件,而是指 Linux 世界中的所有、任意、一切东西都可以通过文件的方式访问和管理。它是一个抽象的概念,这才符合哲学意味。linux 中有 7 种文件类型:普通文件、目录文件、块设备文件、字符设备、套接字文件、管道文件、链接文件。这些文件都可以用一套相同的API(如:open/read/write/close等)进行操作。这正好又符合 Unix/Linux 的另一个哲学思想“简单原则”,即著名的 KI

canpool 3735
上一篇: LWN: Linux 5.6合并窗口进展——第一部分!
下一篇: LWN:内核开发者的更好的工具!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值