内核中遍历所有的page
遇到一个需求,需要在内核模块中统计page cache页面的数量。
此刻,需要遍历所有的page,下面是相关代码:
1 | unsigned scan_pfn=0; |
从上述代码可以看出,通过max_pfn即可获取最大的page frame号。
判断page是否为page cache可使用下面的函数:
1 | inline bool is_file_page(struct page* pg) |
遇到一个需求,需要在内核模块中统计page cache页面的数量。
此刻,需要遍历所有的page,下面是相关代码:
1 | unsigned scan_pfn=0; |
从上述代码可以看出,通过max_pfn即可获取最大的page frame号。
判断page是否为page cache可使用下面的函数:
1 | inline bool is_file_page(struct page* pg) |