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 |