Function report |
Source Code:kernel\kmod.c |
Create Date:2022-07-28 09:34:49 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__request_module - try to load a kernel module*@wait: wait (or not) for the operation to complete*@fmt: printf style format string for the name of the module*@...: arguments as specified in the format string
Proto:int __request_module(bool wait, const char *fmt, ...)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| bool | wait | |
| const char * | fmt |
| 137 | WARN_ON_ONCE(wait && rrent_is_async - is %current an async worker task?* Returns %true if %current is an async worker task.) |
| 139 | If Not modprobe_path is set via /proc/sys.[0] Then Return 0 |
| 145 | If ret >= MODULE_NAME_LEN Then Return -ENAMETOOLONG |
| 152 | If atomic_dec_if_positive( & kmod_concurrent_max) < 0 Then |
| 153 | pr_warn_ratelimited("request_module: kmod_concurrent_max (%u) close to 0 (max_modprobes: %u), for module %s, throttling...", atomic_read( & kmod_concurrent_max), Assuming:* threads = div64_u64((u64) totalram_pages * (u64) PAGE_SIZE,* (u64) THREAD_SIZE * 8UL);* If you need less than 50 threads would mean we're dealing with systems* smaller than 3200 pages, module_name) |
| 159 | If Not ret Then |
| 162 | Return -ETIME |
| 164 | pr_warn_ratelimited("request_module: sigkill sent for modprobe %s, giving up", module_name) |
| 165 | Return ret |
| 171 | ret = call_modprobe(module_name, wait ? wait for the process to complete : wait for the exec, but not the process ) |
| 173 | atomic_inc( & kmod_concurrent_max) |
| 176 | Return ret |
| 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 |