Function report |
Source Code:mm\khugepaged.c |
Create Date:2022-07-28 16:06:37 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Bring missing pages in from swap, to complete THP collapse.* Only done if khugepaged_scan_pmd believes it is worthwhile.* Called and returns without pte mapped or spinlocks held,* but with mmap_sem held to protect against vma changes.
Proto:static bool __collapse_huge_page_swapin(struct mm_struct *mm, struct vm_area_struct *vma, unsigned long address, pmd_t *pmd, int referenced)
Type:bool
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct mm_struct * | mm | |
| struct vm_area_struct * | vma | |
| unsigned long | address | |
| pmd_t * | pmd | |
| int | referenced |
| 895 | swapped_in = 0 |
| 896 | ret = 0 |
| 906 | If referenced < HPAGE_PMD_NR / 2 Then |
| 908 | Return false |
| 910 | Pointer to pte entry matching* the 'address'. NULL if the page* table hasn't been allocated. = pte_offset_map(pmd, address) |
| 911 | When Faulting virtual address < address + HPAGE_PMD_NR * PAGE_SIZE cycle |
| 913 | Value of PTE at the time of fault = Pointer to pte entry matching* the 'address'. NULL if the page* table hasn't been allocated. |
| 914 | If Not heck whether a pte points to a swap entry Then Continue |
| 916 | swapped_in++ |
| 920 | If ret & VM_FAULT_RETRY Then |
| 933 | If ret & VM_FAULT_ERROR Then |
| 935 | Return false |
| 941 | pte_unmap(Pointer to pte entry matching* the 'address'. NULL if the page* table hasn't been allocated.) |
| 943 | Return true |
| Name | Describe |
|---|---|
| collapse_huge_page |
| 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 |