函数逻辑报告 |
Source Code:mm\page_io.c |
Create Date:2022-07-27 16:44:06 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:__swap_writepage
函数原型:int __swap_writepage(struct page *page, struct writeback_control *wbc, bio_end_io_t end_write_func)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct page * | page | |
| struct writeback_control * | wbc | |
| bio_end_io_t | end_write_func |
| 283 | sis等于page_swap_info(page) |
| 285 | VM_BUG_ON_PAGE(!PageSwapCache(page), page) |
| 286 | 如果SWP_USED etc: see above 按位与SWP_FS则 |
| 297 | iov_iter_bvec( & from, WRITE, & bv, 1, PAGE_SIZE) |
| 298 | init_sync_kiocb( & kiocb, swap_file) |
| 299 | 文件偏移等于page_file_offset(page) |
| 301 | set_page_writeback(page) |
| 305 | Disable counters |
| 306 | ret等于0 |
| 307 | 否则 |
| 318 | Dirty a page |
| 320 | pr_err_ratelimited("Write error on dio swapfile (%llu)\n", page_file_offset(page)) |
| 324 | 返回:ret |
| 328 | 如果非ret则 |
| 330 | 返回:0 |
| 333 | ret等于0 |
| 334 | bio等于get_swap_bio(GFP_NOIO, page, end_write_func) |
| 335 | 如果(bio == NULL)则 |
| 336 | Dirty a page |
| 339 | 转到:out |
| 341 | bottom bits req flags, * top bits REQ_OP. Use * accessors.等于REQ_OP_WRITE按位或REQ_SWAP按位或wbc_to_write_flags(wbc) |
| 344 | set_page_writeback(page) |
| 346 | submit_bio(bio) |
| 347 | out : |
| 348 | 返回:ret |
| 名称 | 描述 |
|---|---|
| swap_writepage | We may have stale swap cache pages in memory: notice* them here and get rid of the unnecessary final write. |
| zswap_writeback_entry |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |