相关疑难解决方法(0)

如何在x86平台上使用gcc将内存范围声明为不可缓存?

虽然我已经阅读了关于movntdqa的相关说明,但已经找到了一种表达内存范围不可缓存或读取数据的简洁方法,以免污染缓存.我想从gcc做到这一点.我的主要目标是交换到大型阵列中的随机位置.希望通过避免缓存来加速此操作,因为数据恢复非常少.

x86 assembly gcc sse

10
推荐指数
1
解决办法
3899
查看次数

是否有可能在用户空间中在Linux上分配不可缓存的内存块?

我的应用程序中有一堆缓冲区(其中25到30个)相当大(.5mb)并且访问了simulataneousley.更糟糕的是,它们中的数据通常只读取一次,并且经常更新(例如每秒30次).排序非完美缓存使用的完美风暴.

无论如何,我想到如果我可以将一块内存标记为不可缓存,那将会很酷......从理论上讲,这将为缓存中的其他所有内容留出更多空间.

那么,他们是否有办法在Linux中标记为不可缓存的内存块?

linux memory caching

7
推荐指数
1
解决办法
7401
查看次数

标签 统计

assembly ×1

caching ×1

gcc ×1

linux ×1

memory ×1

sse ×1

x86 ×1