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

640点击上方蓝色字关注我们~



5.3 Merge window, part 1

By Jonathan Corbet
July 12, 2019


在Janathan撰写此文的时候,已经有6666个patch被合入mainline仓库了,都会包含在今后发布的5.3 kernel中。因为merge window(合并窗口)刚刚开始,所以会看到不少有趣的改动。下面就是目前合入的主要改动列表。


Architecture-specific
  • X86的umonitor,unwait,tpause指令支持在user space代码调用了。这样就能更加高效的使用短时间的delay,避免busy loop了。系统管理员可以控制CPU能被暂停的最大时间。

  • pa-risc架构可以支持dynamic ftrace


Core kernel
  • scheduler utilization clamping patch。

    允许系统管理员能让指定进程的workload看起来比真实workload更加多(或者少),从而让CPU frequency governor来相应的调整频率。

    举例来说,跟用户交互的进程,就应该显得很需要CPU,这样它刚一运行,CPU frequency就能马上跳上去。

  • 增加了pidfd_open()系统调用。允许进程能获取另一个系统中存在的进程的pidfd,并且能通过对pidfd的poll()系统调用在对象进程退出时获得通知。

  • 增加了clone3()系统调用,重新清理了clone()接口,增加扩展性,允许今后再加更多flag。

  • 新增了bpf_send_signal()帮助函数,允许BPF程序对任意进程发送signal。

  • BPF verifier可以支持loop(代码循环)了,只要loop的执行次数是有限的,并且不会导致BPF program超出最大指令数限制。这是BPF开发者持续抱怨的一个问题,终于得到了解决。不过这个不是去年讨论过的bounded-loop work方案,而是一个全新实现。看起来5.2里合入的verifier efficiency improvement patch让这个工作更加简单了。


Filesystems and block layer
  • NFSv4服务器会创建/proc/fs/nfsd/clients目录,在其中会记录目前连上的NFS客户端的信息,包括它们分别打开了哪些文件。


Hardware support
  • Audio: Conexant CX2072X codecs, Rhythm Tech rt1011 and rt1308 amplifiers, and Cirrus Logic CS47L35, CS47L85, and CS47L90 codecs.

  • Industrial I/O: Infineon DPS310 pressure and temperature sensors, Analog Devices ADF4371 and ADF4372 wideband synthesizers, Analog Devices AD8366 gain amplifiers, and ChromeOS EC lid-angle sensors.

  • Media: Allegro DVT video control units and Amlogic video decoders.

  • Miscellaneous: Freescale i.MX8 DDR performance monitors, Renesas RZ/A1 interrupt controllers, Annapurna Labs fabric interrupt controllers, Atmel SHA204A random-number generators, TI LM3697, LM36274, and LM36274 LED controllers, Dialog Semiconductor SLG51000 regulators, Socionext SynQuacer SPI controllers, Freescale i.MX8M CPU-frequency controllers, Infineon PXE1610 voltage regulators, Infineon IRPS5401 power-management ICs, NXP i.MX8 SCU on-chip OTP controllers, Mixel MIPI DSI PHYs, Fairchild Semiconductor FSA9480 microUSB switches, and ChromeOS embedded controllers.

  • Networking: NXP TJA11xx PHYs, Google Virtual NICs, and Hisilicon HI13X1 network interfaces.

  • USB: Qualcomm PCIe Gen2 PHYs.

  • Removals: 移除了isdn4linux ISDN驱动代码,已经挺长时间没有人使用这个功能了。相关的CAPI子系统代码也要被移除了,不过暂时只是先挪到staging目录下去。mISDN子系统会继续保留。


Networking
  • Kernel可以接受0.0.0.0/8这个范围内的IP地址了。

    等整个互联网所有设备都支持,还需要不少工作,不过等到达成之后,就能又提供一千六百多万个IPv4的地址可供使用了。

  • 可以在setsockopt()和getsockopt()系统调用上挂载BPF program(cgroup级别内)了。这样就能供系统管理员对这些API进行限制了。

  • 增加了一个socket级别的hook,可以依照round-trip-time(RTT,IP包往返时间)这么小的时间间隔调用一次BPF program。


Security-related
  • 加密秘钥可以跟某个特定用户或者网络命名空间(network namespace)绑定,这样确保在这个命名空间之外是不可见的。秘钥也可以受ACL(access control lists)保护了。(需要注意ACL patch后来被revert了,不过在merge window之内应该还会被加回来)


Internal kernel changes
  • force_sig() 之前能接受目标task作为一个参数的,不过其实这个函数只有是current task使用才是安全的。这个参数就被移除了,并且相应的调用代码也全部都被修改掉了。

Linus Torvalds在这个merge window内有点烦躁,因为碰到好几次影响到他自己机器的代码质量回退(regression)。大多数问题都已经解决了,希望后续流程能更加顺利。按照通常的流程,5.3 merge window会在7月21日结束,而最终的5.3版本应该在9月份早期发布。


全文完

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

极度欢迎将文章分享到朋友圈 
热烈欢迎转载以及基于现有协议上的修改再创作~


长按下面二维码关注:Linux News搬运工,希望每周的深度文章以及开源社区的各种新近言论,能够让大家满意~


640?wx_fmt=jpeg

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值