函数逻辑报告 |
Source Code:kernel\kmod.c |
Create Date:2022-07-27 10:35:24 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:__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
函数原型:int __request_module(bool wait, const char *fmt, ...)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
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 | 如果非modprobe_path is set via /proc/sys.[0]则返回:0 |
145 | 如果ret大于等于MODULE_NAME_LEN则返回:负ENAMETOOLONG |
152 | 如果atomic_dec_if_positive( & kmod_concurrent_max)小于0则 |
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 | 如果非ret则 |
162 | 返回:负ETIME |
164 | pr_warn_ratelimited("request_module: sigkill sent for modprobe %s, giving up", module_name) |
165 | 返回: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 | 返回:ret |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |