workqueue机制分析之wb_workfn函数
2016-01-16 11:48
495 查看
上面一篇文章说到: process_one_work中最重要的一件事情就是worker->current_func(work);
这里就具体到一项很具体的任务了,由于我要研究文件系统嘛,所以很自然就到具体的任务里:
void wb_workfn(struct work_struct *work)
首先,work变量只是个助推器,真正的主子在哪呢?
struct bdi_writeback *wb = container_of(to_delayed_work(work),
struct bdi_writeback, dwok);
根据 bdi_writeback, 我们就能找到这一连串脏的inode了,然后写回里面的数据了[终于喘口气了,因为我们终于可以接触一些和文件系统相关的概念了]
[还有一个点是格外受启发的, 上面说到一个work_poll可以对应着多个kworker, 想想如果此时文件系统中脏页很多, 那么work就会很多, 这样的话,不同的work可能就由这个pool中的多个不同的线程去执行了]
后面的代码我们就比较熟悉了
这里就具体到一项很具体的任务了,由于我要研究文件系统嘛,所以很自然就到具体的任务里:
void wb_workfn(struct work_struct *work)
首先,work变量只是个助推器,真正的主子在哪呢?
struct bdi_writeback *wb = container_of(to_delayed_work(work),
struct bdi_writeback, dwok);
根据 bdi_writeback, 我们就能找到这一连串脏的inode了,然后写回里面的数据了[终于喘口气了,因为我们终于可以接触一些和文件系统相关的概念了]
[还有一个点是格外受启发的, 上面说到一个work_poll可以对应着多个kworker, 想想如果此时文件系统中脏页很多, 那么work就会很多, 这样的话,不同的work可能就由这个pool中的多个不同的线程去执行了]
后面的代码我们就比较熟悉了
相关文章推荐
- UIAlertView -(警告框)方法总结
- 【Android开发小记--2】百度外卖 UI界面
- 微信官方UI库—WeUI
- 微信官方UI库—WeUI
- 如何使用APUE源代码(UNIX高级编程)-转
- UI组件之AdapterView及其子类(一)三种Adapter适配器填充ListView
- workqueue机制分析之process_one_work分析
- UITextView控件_文字内容居左居上
- ue实用技巧-转
- 【iOS】Segue的页面跳转和传值
- the wait queue
- UI_动态图片
- UITableView详细介绍
- 关于main函数和UIWindow
- UITableView
- iOS 开发学习之 User Interface(2)UIWindow 视窗
- 深挖 NGUI 基础 之UICamera (二)
- HDU 3304 Interesting Yang Yui Triangle lucas定理
- LeetCode Unique Paths
- IOS(UI)_AutoLayout(自动布局)