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 |