Caching 如何检查分配的缓冲区';的对应页在缓存或主内存中?

Caching 如何检查分配的缓冲区';的对应页在缓存或主内存中?,caching,linux-kernel,embedded,linux-device-driver,embedded-linux,Caching,Linux Kernel,Embedded,Linux Device Driver,Embedded Linux,在应用程序级别,我使用malloc()和memset(),在驱动程序中,我使用get_user_pages_fast()来固定相应的页面 linux中是否有办法确定这些页面是在缓存中还是在主内存中?除非您有一个特定于设备的调用,允许您将它们固定到缓存中,否则CPU可以根据需要自由地将它们移入和移出缓存。即使您可以检查地址是否在缓存中,当您在驱动程序中执行下一条语句时,信息也不可靠。如果它们在缓存中,它们也在主存中。XY问题?不清楚您想要什么IRC,在某些体系结构中,您可以锁定缓存线。在许多体系结

在应用程序级别,我使用malloc()和memset(),在驱动程序中,我使用get_user_pages_fast()来固定相应的页面


linux中是否有办法确定这些页面是在缓存中还是在主内存中?

除非您有一个特定于设备的调用,允许您将它们固定到缓存中,否则CPU可以根据需要自由地将它们移入和移出缓存。即使您可以检查地址是否在缓存中,当您在驱动程序中执行下一条语句时,信息也不可靠。

如果它们在缓存中,它们也在主存中。XY问题?不清楚您想要什么IRC,在某些体系结构中,您可以锁定缓存线。在许多体系结构中,您可以预取要缓存的内容。但一般来说,缓存在某种程度上是处理器和内存之间的隐藏层,在大多数体系结构中,它完全由硬件控制,不可见。