linux缓存文件地址,如何遍历linux内核中的文件地址空间的页面缓存树(基数树)
我从
Linux内核源代码中找到了它.
struct file *file = filp_open("filename",O_RDONLY,0);
struct address_space *file_addr_space = file->f_mapping;
if(file_addr_space==NULL){
printk("error")
}
struct radix_tree_root file_page_tree_root = file_addr_space->page_tree; //contains all pages in page cache
struct radix_tree_iter iter;
void **slot;
int num_dirty = 0;
radix_tree_for_each_slot(slot,&file_page_tree_root,&iter,0){
struct page *page = radix_tree_deref_slot(slot);
if(page!=NULL){
//printk("information about page");
}
}
linux缓存文件地址,如何遍历linux内核中的文件地址空间的页面缓存树(基数树)相关推荐
- Linux中文件描述符1,linux内核中的文件描述符(一)--基础知识简介
原标题:linux内核中的文件描述符(一)--基础知识简介 Kernel version:2.6.14 CPU architecture:ARM920T Author:ce123(http://blo ...
- Linux内核中读写文件数据的方法
Linux内核中读写文件数据的方法 有时候需要在Linuxkernel--大多是在需要调试的驱动程序--中读写文件数据.在kernel中操作文件没有标准库可用,需要利用kernel的一些函数, ...
- 【转】 Linux内核中读写文件数据的方法--不错
原文网址:http://blog.csdn.net/tommy_wxie/article/details/8193954 Linux内核中读写文件数据的方法 有时候需要在Linuxkernel ...
- 如何在linux内核中读写文件
在VFS的支持下,用户态进程读写任何类型的文件系统都可以使用read和write着两个系统调用,但是在linux内核中没有这样的系统调用我们如何操作文件呢?我们知道read和write在进入内核态之后 ...
- 在linux内核中操作文件的方法--使用get_fs()和set_fs(KERNEL_DS)
在linux内核中操作文件的方法--使用get_fs()和set_fs(KERNEL_DS) #include <linux/kernel.h> #include <linux/mo ...
- linux内核中的文件描述符(四)--fd的分配--get_unused_fd
linux内核中的文件描述符(四)--fd的分配--get_unused_fd Kernel version:2.6.14 CPU architecture:ARM920T Author:ce123( ...
- linux内核中的文件描述符(一)--基础知识简介
linux内核中的文件描述符(一)--基础知识简介 Kernel version:2.6.14 CPU architecture:ARM920T Author:ce123(http://blog.cs ...
- linux内核中的文件描述符(三)--fd的回收
linux内核中的文件描述符(三)--fd的回收 Kernel version:2.6.14 CPU architecture:ARM920T Author:ce123(http://blog.csd ...
- 如何遍历给定目录中的文件?
本文翻译自:How can I iterate over files in a given directory? I need to iterate through all .asm files in ...
最新文章
- org.hibernate.AnnotationException: No identifier specified for entity
- MFC类向导添加自定义消息未声明标识符的解决方法
- 用history api偷换浏览器历史记录
- css怎么更改指定字体颜色,CSS-如何更改禁用输入的字体颜色?
- 爬虫是后端吗_北京市互联网后端职位招聘需求分析
- 微云存储空间多大_微云免费存储容量由1T降为10G,百度还能坚持多久?
- fw325r没有虚拟服务器,FAST FW325R的配置方法教程
- 【内网穿透路由器】外网环境下使用Frp内网穿透路由器,实现后台的远程访问
- mybatis一对多关联查询分页解决方案
- C#(Winform)程序无法使用Windows Media Player 组件播放视频文件
- 计算机英语统考试卷分析,英语试卷分析
- [第3课] 象形统计图
- pr cpu100%_PR插件LUT Mixer2.1.1安装教程
- SMALE 实验室投稿期刊选择
- ActiveX 控件注册的几种方法 VC++编写
- w7计算机新加,win7系统新加硬盘分区的详细步骤
- 1399. 统计最大组的数目
- 【考试经验】厚积薄发——托福50到97之路
- AG6201 HDMI 转 VGA 转换器|AG6201方案设计电路参考
- 【学习资料】心田花开:人教版小学二年级语文《揠苗助长》知识点
热门文章
- 权限控制的两种主要方式详述
- 解决log4j2漏洞遭到挖矿、僵尸进程病毒攻击
- 第一行代码学习笔记第八章——运用手机多媒体
- 屏蔽Crash 提示框的两种方式
- 一文搞定JS中的DOM基础与进阶
- c语言快速排序案例,什么是快速排序?C语言数组快速排序例子
- python素数判断代码_Python 判断101-200之间有多少个素数,并输出所有素数
- 设计模式的理解:桥模式 Bridge
- Cpp 对象模型探索 / new 对象时加括号和不加括号时的差别
- php r echo_PHP中echo(),print(),print_r()的区别是什么?