Function report |
Source Code:mm\gup.c |
Create Date:2022-07-28 14:35:30 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:check_and_migrate_cma_pages
Proto:static long check_and_migrate_cma_pages(struct task_struct *tsk, struct mm_struct *mm, unsigned long start, unsigned long nr_pages, struct page **pages, struct vm_area_struct **vmas, unsigned int gup_flags)
Type:long
Parameter:
Type | Parameter | Name |
---|---|---|
struct task_struct * | tsk | |
struct mm_struct * | mm | |
unsigned long | start | |
unsigned long | nr_pages | |
struct page ** | pages | |
struct vm_area_struct ** | vmas | |
unsigned int | gup_flags |
1455 | bool drain_allow = true |
1456 | bool migrate_allow = true |
1457 | LIST_HEAD(cma_page_list) |
1460 | check_again : |
1463 | head = compound_head(pages[i]) |
1475 | If is_migrate_cma_page(head) Then |
1476 | If PageHuge(head) Then isolate_huge_page(head, & cma_page_list) |
1478 | Else |
1479 | If Not PageLRU(head) && drain_allow Then |
1480 | lru_add_drain_all() |
1481 | drain_allow = false |
1497 | If Not list_empty - tests whether a list is empty*@head: the list to test. Then |
1510 | migrate_allow = false |
1524 | If ret > 0 && migrate_allow Then |
1531 | Return ret |
Name | Describe |
---|---|
__gup_longterm_locked | __gup_longterm_locked() is a wrapper for __get_user_pages_locked which* allows us to process the FOLL_LONGTERM flag. |
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 |