gpt4 book ai didi

linux - 为什么 flush_dcache_page() 在 linux 内核中什么都不做?

转载 作者:IT王子 更新时间:2023-10-29 01:27:11 27 4
gpt4 key购买 nike

我发现 flush_dcache_page() 在 x86 arch 上的 linux 内核中没有执行任何操作,如下所示

include/asm-generic/cacheflush.h

Line 17    #define flush_dcache_page(page) do {} while (0)

我认为 x86 arch 上有缓存刷新指令“CLFLUSH”,它可以用于此页面刷新。

但是 flush_dcache_page() 并不像上面的源代码那样运行任何 CPU 指令。

为什么 flush_dcache_page() 在 x86 架构上不运行任何指令?

是否保证将dcache中的一个page写入主存?

最佳答案

来自 https://www.kernel.org/doc/Documentation/cachetlb.txt

“如果 D-cache 别名不是问题,则该例程可以简单地定义为该体系结构上的 nop。”

关于linux - 为什么 flush_dcache_page() 在 linux 内核中什么都不做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16293184/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com