在排队等待 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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
精通Java并发编程(第2版)
[西] 哈维尔·费尔南德斯·冈萨雷斯 / 唐富年 / 人民邮电出版社 / 2018-10 / 89.00元
Java 提供了一套非常强大的并发API,可以轻松实现任何类型的并发应用程序。本书讲述Java 并发API 最重要的元素,包括执行器框架、Phaser 类、Fork/Join 框架、流API、并发数据结构、同步机制,并展示如何在实际开发中使用它们。此外,本书还介绍了设计并发应用程序的方法论、设计模式、实现良好并发应用程序的提示和技巧、测试并发应用程序的工具和方法,以及如何使用面向Java 虚拟机的......一起来看看 《精通Java并发编程(第2版)》 这本书的介绍吧!