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 |