函数逻辑报告 |
Source Code:mm\page-writeback.c |
Create Date:2022-07-27 15:34:37 |
Last Modify:2022-05-23 13:25:58 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:write_cache_pages - walk the list of dirty pages of the given address space and write all of them
函数原型:int write_cache_pages(struct address_space *mapping, struct writeback_control *wbc, writepage_t writepage, void *data)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct address_space * | mapping | |
struct writeback_control * | wbc | |
writepage_t | writepage | |
void * | data |
2162 | ret等于0 |
2163 | done等于0 |
2171 | range_whole等于0 |
2174 | pagevec_init( & pvec) |
2175 | 如果ange_start is cyclic 则 |
2179 | 否则 |
2191 | done_index等于index |
2216 | continue_unlock : |
2218 | 继续下一循环 |
2223 | 转到:continue_unlock |
2229 | 否则转到:continue_unlock |
2233 | BUG_ON(Only test-and-set exist for PG_writeback. The unconditional operators are* risky: they bypass page accounting.) |
2237 | trace_wbc_writepage(wbc, inode_to_bdi(host)) |
2239 | 如果此条件成立可能性小(为编译器优化)(error)则 |
2271 | 如果Write this many pages, and decrementthis for each page written 先自减小于等于0且sync_mode恒等于WB_SYNC_NONE则 |
2277 | pagevec_release( & pvec) |
2278 | cond_resched() |
2286 | 如果ange_start is cyclic 且非done则done_index等于0 |
2288 | 如果ange_start is cyclic 或range_whole且Write this many pages, and decrementthis for each page written 大于0则writeback_index等于done_index |
2291 | 返回:ret |
名称 | 描述 |
---|---|
generic_writepages | generic_writepages - walk the list of dirty pages of the given address space and writepage() all of them |
iomap_writepages | |
mpage_writepages | mpage_writepages - walk the list of dirty pages of the given address space & writepage() all of them*@mapping: address space structure to write*@wbc: subtract the number of written pages from *@wbc->nr_to_write |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |