首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >避免mmap()时的转换后备缓冲区( TLB )污染

避免mmap()时的转换后备缓冲区( TLB )污染
EN

Stack Overflow用户
提问于 2016-08-01 06:59:46
回答 1查看 603关注 0票数 4

当我们想要写一个数据项时,包含数据的块首先被带到缓存中,然后数据项被写入到缓存中。这可能会导致缓存污染。为了避免这种情况,英特尔没有引入临时指令。

如果我打算使用mmap()将数据写入文件,并且再也不会读取数据,那么是否有可能避免为此创建TLB条目?有没有类似于非时态指令的指令?

EN

回答 1

Stack Overflow用户

发布于 2016-08-01 17:44:59

TLB条目是CPU从虚拟地址映射到物理地址所需要的,因此无法使用mmap()或任何类似的API来避免它们。

即使可以避免将映射存储在TLB中,每次对映射内存的访问都需要从页表重新加载相应的条目,因此性能会差得多。非临时访问只对存储有意义,但页表条目是读取的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38689075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档