- 主题:mmap的虚拟内存空间和物理内存内容一致性问题
请问用户态怎么invalidate ?
【 在 hondrous 的大作中提到: 】
: cache 需要刷写。写入内存需要flush,读入需要invalidate
--
FROM 49.77.231.*
我用zynq几年了,没遇到这种问题。不过我是把fpga里面的寄存器,mmap到arm上程序的用户空间。fpga里面的寄存器都不在系统的内存空间内,谈何cache呢。
--
FROM 171.82.8.*
查一下吧我不清楚了不好意思
【 在 elephant 的大作中提到: 】
: 请问用户态怎么invalidate ?
:
--
FROM 124.64.18.*
还是建议试试
如果不是硬件逻辑延迟或者故障,volatile还是能解决你的问题。volatile的一个应用场景就是这种共享内存访问,编译器优化,就是要去实际寄存器里读取,不要cache。
【 在 elephant 的大作中提到: 】
: 这个问题和volatile应该没有关系。
: volatile是物理内存中的值和缓存时一致的,只是编译器优化了。
:
--
FROM 123.113.15.*