Linux 5.3正式发布:加入AMD GPU和中国兆芯 CPU支持!

【导读】Linux 5.3正式版,引入对AMD Navi GPU的支持; 支持兆芯 x86 CPU; 支持umwait x86指令,让进程在没有旋转循环的情况下等待很短的时间; “利用率钳制”机制,用于提高电话中使用的电源非对称CPU的交互性;提供了0.0.0.0/8范围内的1600万个新IPv4地址。

Linux 5.3正式版终于来了!

作为数据科学、机器学习的工具,Linux有着非常广泛的应用场景。其完全开放、高度可定制化的属性,使得用户可以用非常低的成本搭建所需的工作环境,同时安装依赖的时候也非常方便,直接一条命令就安装好了。



本次的版本更新主要包括以下内容:对AMD Navi GPU的支持; 支持umwait x86指令,让进程在没有旋转循环的情况下等待很短的时间; “利用率钳制”机制,用于提高电话中使用的电源非对称CPU的交互性; 一个新的pidfd_open(2)系统调用,它完成了让用户处理PID重用问题的工作; 提供了0.0.0.0/8范围内的1600万个新IPv4地址; 支持兆芯 x86 CPU; 支持Intel Speed Select,以便在Xeon服务器中更轻松地选择电源; 并支持轻量级管理程序ACRN,专为嵌入式物联网设备而构建。与往常一样,还有许多其他新的驱动因素和改进。

在详细介绍以上特性之前,我们要着重介绍一下兆芯 CPU。这是由上海兆芯集成电路有限公司(英语:Shanghai Zhaoxin Semiconductor Co., Ltd.)所设计的通用中央处理器,有时也指该公司生产的其他芯片。CPU采用x86指令集架构,当前已有多款产品,包括:开先ZX-A系列、开先ZX-C系列、开先ZX-C+系列、开胜ZX-C+系列、开胜KH-20000系列、开先KX-5000系列、开先KX-6000系列等。

接下来我们就来详细看一下新版本都更新了哪些超级酷的特性吧:


新的'pidfd'功能将帮助服务管理器处理PID重用问题

为了解决Unix系统中PID重用的问题,Linux 5.1添加了pidfd_send_signal(2),它允许进程将信号发送到“pidfd”句柄,即使在PID重用之后也是稳定的。

Linux 5.2将CLONE_PIDFD添加到clone(2),后者允许用户创建可与pidfd_send_signal(2)一起使用的PID。但是有许多进程使用fork或clone创建没有CLONE_PIDFD,这可能会导致Android的低内存杀手(LMK)或服务管理器(如systemd)出现问题。

为了完成处理PID重用问题所需的功能,此版本添加了pidfd_open(2)系统调用:它允许调用者为使用CLONE_PIDFD clone(2)标志未创建的进程检索可轮询pidfd。

此外,此版本还增加了对pidfds的支持。这允许流程管理器知道(非父)流程何时以无竞争方式死亡。使用的通知机制遵循当任务的父级被通知孩子死亡时当前使用的相同逻辑。使用此补丁集,可以将pidfds置于{e}轮询循环中,并获得进程(即线程组)退出的可靠通知。

推荐的LWN文章:新的系统调用:pidfd_open和close_range

任务调度程序中的利用率限制支持

此版本为任务计划程序添加了利用率限制支持。这是对Linux 5.0中添加的功率非对称系统(如ARM big.LITTLE)的能量感知调度框架的改进。

利用率钳位是一种允许强制执行最小和/或最大频率范围的机制,具体取决于CPU上当前处于活动状态的任务。

utilization clamping主要用例是:a)通过至少以“请求”频率运行来直接影响用户体验的增强任务;b)通过仅运行它们来限制不直接影响用户体验的低优先级任务达到最大“允许”频率。可以通过sched_setattr(2)设置每个任务clamping属性,此功能可以让Android免去需要额外hack的麻烦。

支持AMD Navi GPU

此版本增加了对amdgpu驱动程序中AMD Navi GPU的初始支持,这些是刚刚推出的新型AMD RX5700 GPU。此次发布增加了对核心驱动程序,显示器(DCN2),GFX和计算(GFX10),系统DMA(SDMA 5),多媒体解码和编码(VCN2)以及电源管理的支持。



支持Zhaoxin x86 CPU

此版本增加了对Zhaoxin x86处理器的支持,ZX系列处理器的架构是威盛Centaur Technology x86-64 Isaiah设计的延续。威盛是台湾的集成电路设计公司,主要生产主板的芯片组、中央处理器以及图形处理器。主要在研发晶圆,然后外包给晶圆厂(例如台积电)代工。



支持Intel Speed Select,以便更轻松地进行功率调整

此版本增加了对Intel Speed Select的支持,这是仅在特定Xeon服务器上支持的功能。它是一种电源管理技术,允许用户配置其服务器以实现吞吐量和每核心性能设置,从而通过牺牲其他核心的性能来确定在特定核心上运行的某些工作负载的性能优先级。

使用umwait x86指令等待高效的用户空间

如果一个应用程序需要等待非常短的时间,它们必须有一个旋转循环,这会消耗功率并损坏其线程中的线程兄弟与超线程。此版本允许用户空间使用三条新指令,这些指令将添加到即将推出的英特尔“Tremont”芯片中,包括umonitor,umwait和tpause,它们让用户空间进程在没有旋转循环的情况下等待很短的时间,从而让应用程序能够进行那些短时间等待,而不会影响其他超线程的性能。

1600百万个新的IPv4地址

此版本包含一个微不足道但却有影响的变化:Linux将接受0.0.0.0/8 IPv4范围(尽管未在标准中声明)作为有效地址范围,从而新增了1600万个新IPv4地址。

添加IoT ACRN supervisor

此版本增加了对ACRN管理程序的支持。ACRN是一款灵活,轻量级的参考虚拟机管理程序,在构建时充分考虑了实时性和安全性,并通过开源平台优化了嵌入式开发。它专为嵌入式物联网而构建,具有小尺寸和实时功能。

更多细节:
https://projectacrn.org/

官方地址:
https://kernelnewbies.org/Linux_5.3

来源 | 新智元

上一篇:黄铁军:人工智能不会以人为中心,但不要为此失落
下一篇:如何学习人工智能?这里有一份机器学习/AI领域最高质量的资源列表