Linux的vmalloc通过5.2内核更改看到“巨大的性能优势”

栏目: 服务器 · Linux · 发布时间: 7年前

在排队等待 Linux 5.2的所有更改中,最重要的是vmalloc代码在最后一刻的性能改进。

Linux内核的vmalloc代码有潜力在Linux 5.2上运行得更快,特别是在嵌入式设备上。Vmalloc用于在虚拟地址空间中分配连续内存,在Linux 5.2 合并窗口的最后一天,我们看到了一个很好的优化。

作为几分钟前Linux内核维护人Andrew Morton pull merged的一部分,“对vmalloc的巨大更改,带来了巨大的性能优势。”

对vmalloc代码的主要更改是跟踪分配的空闲块。

目前,新VA区域的分配是通过繁忙列表迭代来完成的,直到在两个繁忙区域之间找到合适的漏洞为止。因此,每次新的分配都会导致列表增长。由于长列表和不同的允许参数,在嵌入式设备上分配可能会花费很长时间(毫秒)。

这个补丁将vmalloc内存布局组织到VMALLOC_START-VMALLOC_END范围的空闲区域。它使用一个红黑树,将块按其偏移量进行排序,并将链表按地址的增加顺序保留空闲空间。

使用Uladzislau Rezki提供的这个补丁,调用vmalloc()所花费的时间比Linux 5.1和之前版本少67%,至少在QEMU下开发人员进行了测试。

Linux 5.2将成为一个非常激动人心的内核版本。Linux 5.2-rc1将于今天发布,而稳定的内核将于7月发布。

Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-05/158763.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Windows内核原理与实现

Windows内核原理与实现

潘爱民 / 电子工业出版社 / 2010年4月 / 99.00元

本书从操作系统原理的角度,详细解析了Windows如何实现现代操作系统的各个关键部件,包括进程、线程、物理内存和虚拟内存的管理,Windows中的同步和并发性支持,以及Windows的I/O模型。在介绍这些关键部件时,本书直接以Windows的源代码(WRK, Windows Research Kernel)为参照,因而读者可以了解像Windows这样的复杂操作系统是如何在x86处理器上运行的。 ......一起来看看 《Windows内核原理与实现》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

html转js在线工具
html转js在线工具

html转js在线工具