| Function report | 
| Source Code: mm\migrate.c | Create Date:2022-07-28 15:59:03 | 
| Last Modify:2022-05-20 09:53:13 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:__unmap_and_move
Proto:static int __unmap_and_move(struct page *page, struct page *newpage, int force, enum migrate_mode mode)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct page * | page | |
| struct page * | newpage | |
| int | force | |
| enum migrate_mode | mode | 
| 1008 | page_was_mapped = 0 | 
| 1010 | is_lru = Not __PageMovable(page) | 
| 1012 | If Not Return true if the page was successfully locked Then | 
| 1013 | If Not force || mode == MIGRATE_ASYNC Then Go to out | 
| 1029 | If flags & Allocating memory Then Go to out | 
| 1043 | Case mode == MIGRATE_SYNC | 
| 1044 | Case mode == MIGRATE_SYNC_NO_COPY | 
| 1045 | Break | 
| 1046 | Default | 
| 1048 | Go to out_unlock | 
| 1050 | If Not force Then Go to out_unlock | 
| 1080 | If Value for the false possibility is greater at compile time(!Return true if the page was successfully locked) Then Go to out_unlock | 
| 1083 | If Value for the false possibility is greater at compile time(!is_lru) Then | 
| 1085 | Go to out_unlock_both | 
| 1100 | If Not See page-flags.h for PAGE_MAPPING_FLAGS Then | 
| 1101 | VM_BUG_ON_PAGE(PageAnon(page), page) | 
| 1103 | try_to_free_buffers(page) | 
| 1104 | Go to out_unlock_both | 
| 1112 | page_was_mapped = 1 | 
| 1118 | If page_was_mapped Then Get rid of all migration entries and replace them by* references to the indicated page. | 
| 1122 | out_unlock_both : | 
| 1124 | out_unlock : | 
| 1126 | If anon_vma Then put_anon_vma(anon_vma) | 
| 1129 | out : | 
| 1146 | Return rc | 
| Name | Describe | 
|---|---|
| unmap_and_move | Obtain the lock on page, remove all ptes and migrate the page* to the newly allocated page in newpage. | 
| 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 |