Function report |
Source Code:mm\page_io.c |
Create Date:2022-07-28 15:13:53 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:swap_readpage
Proto:int swap_readpage(struct page *page, bool synchronous)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct page * | page | |
| bool | synchronous |
| 354 | ret = 0 |
| 355 | sis = page_swap_info(page) |
| 360 | VM_BUG_ON_PAGE(!PageSwapCache(page) && !synchronous, page) |
| 361 | VM_BUG_ON_PAGE(!PageLocked(page), page) |
| 362 | VM_BUG_ON_PAGE(PageUptodate(page), page) |
| 371 | If frontswap_load(page) == 0 Then |
| 372 | SetPageUptodate(page) |
| 374 | Go to out |
| 377 | If SWP_USED etc: see above & SWP_FS Then |
| 388 | If Not ret Then |
| 398 | ret = 0 |
| 399 | bio = get_swap_bio(GFP_KERNEL, page, end_swap_bio_read) |
| 400 | If (bio == NULL) Then |
| 403 | Go to out |
| 411 | If synchronous Then |
| 414 | bi_private = current process |
| 416 | Disable counters |
| 418 | qc = submit_bio(bio) |
| 419 | When synchronous cycle |
| 421 | If Not READ_ONCE(bi_private) Then Break |
| 424 | If Not blk_poll(queue, qc, true) Then io_schedule() |
| 430 | out : |
| 432 | Return ret |
| Name | Describe |
|---|---|
| read_swap_cache_async | Locate a page of swap in physical memory, reserving swap cache space* and reading the disk if it is not already cached.* A failure return means that either the page allocation failed or that* the swap entry is no longer in use. |
| swap_cluster_readahead | swap_cluster_readahead - swap in pages in hope we need them soon*@entry: swap entry of this memory*@gfp_mask: memory allocation flags*@vmf: fault information* Returns the struct page for entry and addr, after queueing swapin. |
| swap_vma_readahead | swap_vma_readahead - swap in pages in hope we need them soon*@entry: swap entry of this memory*@gfp_mask: memory allocation flags*@vmf: fault information* Returns the struct page for entry and addr, after queueing swapin.* Primitive swap readahead code |
| do_swap_page | We enter with non-exclusive mmap_sem (to exclude vma changes,* but allow concurrent faults), and pte mapped but not yet locked.* We return with pte unmapped and unlocked.* We return with the mmap_sem locked or unlocked in the same cases |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |