Function report | 
Source Code:mm\memfd.c | 
Create Date:2022-07-28 16:37:55 | 
| Last Modify:2022-05-20 10:27:46 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:Setting SEAL_WRITE requires us to verify there's no pending writer. However,* via get_user_pages(), drivers might have some pending I/O without any active* user-space mappings (eg., direct-IO, AIO). Therefore, we look at all pages
Proto:static int memfd_wait_for_pins(struct address_space *mapping)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct address_space * | mapping | 
| 72 | memfd_tag_pins( & xas) | 
| 74 | error = 0 | 
| 75 | When scan <= about 150ms max cycle | 
| 76 | tagged = 0 | 
| 81 | If Not scan Then lru_add_drain_all() | 
| 83 | Else if schedule_timeout_killable((HZ << scan) / 200) Then scan = about 150ms max | 
| 87 | xas_lock_irq( & xas) | 
| 89 | bool clear = true | 
| 90 | If xa_is_value() - Determine if an entry is a value.*@entry: XArray entry.* Context: Any context.* Return: True if the entry is a value, false if it is a pointer. Then Continue | 
| 92 | page = find_subpage(page, xa_index) | 
| 93 | If page_count(page) - page_mapcount(page) != 1 Then | 
| 99 | If scan == about 150ms max Then error = -EBUSY | 
| 101 | Else clear = false | 
| 106 | If ++tagged % XA_CHECK_SCHED Then Continue | 
| 110 | xas_unlock_irq( & xas) | 
| 111 | cond_resched() | 
| 112 | xas_lock_irq( & xas) | 
| 114 | xas_unlock_irq( & xas) | 
| 117 | Return error | 
| Name | Describe | 
|---|---|
| memfd_add_seals | 
| 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  |