英特尔工程师黄英今天发布了一个补丁集,在migrate_pages函数中实现了页面迁移的批量TLB刷新,在性能优化方面表现突出。
本站了解到migrate_pages负责Linux内核中的页面迁移,页面迁移可以指定一个进程的页面到其指定的内存节点其初衷是通过将页面移动到进程所在的NUMA节点来减少内存访问的延迟后来,这个功能被用于内存调节和内存热插拔场景
在migrate_pages函数接收多个页面后,英特尔工程师努力支持TLB刷新和复制的批处理,同时减少处理器间中断的数量。
TLB可以被认为是一个宝库数据缓存地址和数据缓存TLB虚拟地址及其映射的物理地址根据虚拟地址,TLB查找缓存它别无选择,只能根据虚拟地址来查找因此,TLB是一个虚拟缓存
migrate_pages函数用于将流程中的所有页面移动到另一组节点该补丁系列还允许在至强可扩展蓝宝石Rapids处理器上使用英特尔数据流加速器
安装补丁后,migrate_pages测试结果显示,测试期间IPI下降了99.1%,每秒成功迁移的页面数增加了291.7%。