01 2016 档案
摘要:1. ftrace的输出如下图所示:[003] 48375.494595: clear_buddies <-pick_next_entitym=re.match("^\[([0-9]*)\] ([0-9]+\.[0-9]+): (\\w+) <-(\\w+)", line);这个正则表达式,从lin...
阅读全文
摘要:1 查找某个目录下面一个所有的可执行文件,并且删除(对删除一个工程的可执行文件格外有用)find . -maxdepth 1 -file f -perm -111 | xargs rm
阅读全文
摘要:上面一篇文章说到: process_one_work中最重要的一件事情就是worker->current_func(work);这里就具体到一项很具体的任务了,由于我要研究文件系统嘛,所以很自然就到具体的任务里:void wb_workfn(struct work_struct *work)首先,w...
阅读全文
摘要:工作者线程不断执行,从work_poll结构中卸下一个work, 然后进入函数process_one_work来执行这个work.process_one_work(struct worker *worker, struct work_struct *work)下面一行行代码分析下:首先,struct...
阅读全文
摘要:pagecache层内存管理 如果使用page,尤其对于32位系统来说,kmap & kunmap,可以把做struct *page与虚拟地址的映射 用kmap做一个临时的映射,然后通过kunmap释放以使用稀少的高端内存映射 pagecache层中TOWRITE是为了解决livelock的问题 p
阅读全文
摘要:nameidata /mnt/dir1/dir2/ nameidata结构体是一个临时的结构体, 目标是为了找到最后的dentry.
阅读全文
摘要:基础知识在<深入linux内核架构>第8章,自行脑补. 看下几个关键的过程: do_add_mount里有重要函数lock_mount, lock_mount函数的输入是struct path, 输出是struct mountpoint: path 由 filename_lookup 得到, 其中v
阅读全文
浙公网安备 33010602011771号