ste*_*njy 5 linux memory caching
我想知道Page Cache中缓存了哪些文件,并且想务实地释放特定文件的缓存空间。如果需要,我可以编写内核模块甚至修改内核代码。谁能给我一些线索?
首先,内核不维护页面缓存中所有文件的主列表,因为它不需要这些信息。相反,给定一个 inode,您可以查找关联的页面缓存页面,反之亦然。
对于每个页面缓存struct page,page_mapping()将返回struct address_space它所属的。该host成员struct address_space标识所属struct inode,并从那里你可以得到的inode编号和设备。