Function report |
Source Code:mm\memory.c |
Create Date:2022-07-28 14:40:00 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:vm_normal_page -- This function gets the "struct page" associated with a pte.* "Special" mappings do not wish to be associated with a "struct page" (either* it doesn't exist, or it exists but they don't want to touch it). In this
Proto:struct page *vm_normal_page(struct vm_area_struct *vma, unsigned long addr, pte_t pte)
Type:struct page
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct vm_area_struct * | vma | |
| unsigned long | addr | |
| pte_t | pte |
| 598 | If Value is more likely to compile time(!pte_special(pte)) Then Go to check_pfn |
| 600 | If Function pointers to deal with this struct. && find_special_page Then Return find_special_page(vma, addr) |
| 602 | If Flags, see mm.h. & (Page-ranges managed without "struct page", just pure PFN | Can contain "struct page" and pure PFN pages ) Then Return NULL |
| 604 | If is_zero_pfn(pfn) Then Return NULL |
| 606 | If pte_devmap(pte) Then Return NULL |
| 610 | Return NULL |
| 616 | If Flags, see mm.h. & Can contain "struct page" and pure PFN pages Then |
| 620 | Else |
| 623 | If pfn == Offset (within vm_file) in PAGE_SIZEunits + off Then Return NULL |
| 625 | If Not is_cow_mapping(Flags, see mm.h. ) Then Return NULL |
| 630 | If is_zero_pfn(pfn) Then Return NULL |
| 633 | check_pfn : |
| 643 | out : |
| 644 | Return pfn_to_page(pfn) |
| Name | Describe |
|---|---|
| get_gate_page | |
| copy_one_pte | py one vm_area from one task to the other. Assumes the page tables* already present in the new task to be cleared in the whole range* covered by this vma. |
| zap_pte_range | |
| do_wp_page | This routine handles present pages, when users try to write* to a shared page. It is done by copying the page to a new address* and decrementing the shared-page counter for the old page.* Note that this routine assumes that the protection checks have been |
| do_numa_page | |
| __munlock_pagevec_fill | Fill up pagevec for __munlock_pagevec using pte walk* The function expects that the struct page corresponding to @start address is* a non-TPH page already pinned and in the @pvec, and that it belongs to @zone |
| change_pte_range | |
| madvise_cold_or_pageout_pte_range | |
| madvise_free_pte_range | |
| queue_pages_pte_range | Scan through pages checking if pages follow certain conditions,* and move them to the pagelist if they do |
| __collapse_huge_page_isolate | |
| khugepaged_scan_pmd | |
| mc_handle_present_pte |
| 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 |