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  |