手机版
你好,游客 登录 注册
背景:
阅读新闻

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

[日期:2019-05-20] 来源:Linux公社  作者:了醉落红尘 [字体: ]

在排队等待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

 

 

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款