我希望能够从页面缓存中删除页面,以便下一次访问此页面(通过任何进程)将触发页面错误。我是从内核那里做的,我有一个指向struct page
的指针我希望删除。
从页面缓存中删除很容易(由__delete_from_page_cache()
完成),但我不知道如何"取消映射"来自所有进程的此页面将其映射到其VMA中。我尝试使用try_to_unmap(my_page, cpu_page, TTU_UNMAP|TTU_IGNORE_MLOCK|TTU_IGNORE_ACCESS)
中的rmap.c
,但它似乎没有按照我的意愿行事。
任何帮助都非常感谢。
谢谢!