函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |