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 |