try_module_get()浅析_as long as Simple == Best_...

来源:百度文库 编辑:神马文学网 时间:2024/04/27 09:53:17
try_module_get() -- 如果模块已经插入内核,则递增该模块引用计数;如果该模块还没有插入内核,则返回0表示出错。

static inline int try_module_get(struct module *module)
{
    int ret = 1;
   
    if (module) {
        unsigned int cpu = get_cpu();
        if (likely(module_is_live(module)))
            local_inc(&module->ref[cpu].count);
        else
            ret = 0;
        put_cpu();
    }
    return ret;
}