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 |