我发现 flush_dcache_page() 在 x86 架构上的 linux 内核中什么都不做,如下所示
包括/asm-generic/cacheflush.h
Line 17 #define flush_dcache_page(page) do {} while (0)
我认为 x86 架构上有缓存刷新指令“CLFLUSH”,它可用于此页面刷新。
但是,flush_dcache_page() 不会像上面的源代码那样运行任何 CPU 指令。
我发现 flush_dcache_page() 在 x86 架构上的 linux 内核中什么都不做,如下所示
Line 17 #define flush_dcache_page(page) do {} while (0)
我认为 x86 架构上有缓存刷新指令“CLFLUSH”,它可用于此页面刷新。
但是,flush_dcache_page() 不会像上面的源代码那样运行任何 CPU 指令。
From https://www.kernel.org/doc/Documentation/cachetlb.txt
"If D-cache aliasing is not an issue, this routine may simply be defined as a nop on that architecture."