Linux Kernel 内存管理函数 vmalloc 拥有更快的执行速度

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

据 phoronix 的报道 ,在 Linux Kernel 5.2 版本中,其用于内存管理的 vmalloc 函数具有更快的执行速度,特别是在嵌入式设备上。

vmalloc 用于在虚拟地址空间中分配连续内存,合并了代码的 Andrew Morton 说到:“新版本中 vmalloc 发生的改变为其带去了巨大的性能优势。”据了解,vmalloc 代码的主要变更集中在 追踪用于分配的空闲块 。 

现在,Linux 内核的机制是在拥堵的列表迭代中完成新 VA 区域的分配,直到在两个拥堵的区域之间找到合适的空隙。因此,每次新分配都会导致列表增长。而由于长列表和不同的许可参数,分配在嵌入式设备上可能需要很长时间(毫秒)。

根据测试,使用了 Uladzislau Rezki 的补丁并执行同样的行为,再与 Linux Kernel 5.1 及之前的版本进行对比,调用 vmalloc() 可节省多达 67% 的时间 —— 至少根据开发者在 QEMU 上进行的测试显示如是。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

Test Driven Development

Test Driven Development

Kent Beck / Addison-Wesley Professional / 2002-11-18 / USD 49.99

Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the auth......一起来看看 《Test Driven Development》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具