late_initcall_sync、late_initcall 和 module_init 的区别及其优缺点

2023-11-05

late_initcall_sync、late_initcall 和 module_init 都是 Linux 内核中用于模块初始化的函数。它们各自有优缺点,具体如下:

1.late_initcall_sync

优点:

  • late_initcall_sync 函数被用于模块初始化时,可以保证它在所有 initcall 函数执行后才会被调用,因此可以避免一些初始化顺序带来的问题。
  • late_initcall_sync 是同步执行的,也就是说在它执行完毕之前,不会有其他进程或线程调用它。

缺点:

  • late_initcall_sync 的执行时间相对较长,可能会影响系统启动时间。
  • 2.late_initcall

优点:

  • late_initcall 函数同样可以保证在所有 initcall 函数执行后才会被调用,但它是异步执行的,也就是说它的执行不会阻塞其他进程或线程。

缺点:

  • late_initcall 可能会在其他进程或线程已经开始运行之后才执行,可能会导致一些初始化顺序带来的问题。
  • 3.module_init

优点:

  • module_init 函数是一个模块的入口函数,用于初始化模块,它的执行时间相对较短,不会影响系统启动时间。

缺点:

  • module_init 函数的执行顺序无法保证,可能会导致一些初始化顺序带来的问题。

综上所述,late_initcall_sync 和late_initcall适用于需要保证初始化顺序的场合,而 module_init 适用于初始化时间较短的场合。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

late_initcall_sync、late_initcall 和 module_init 的区别及其优缺点 的相关文章

随机推荐

  • 数据结构 图 part1

    文章目录 图 定义 形式化定义 ADT 有向图和无向图 有向图 无向图 完全有向图和完全无向图 完全无向图 完全有向图 术语 邻接顶点 子图 权 网 度 顶点的度 路径 路径长度 连通图与连通分量 强连通图与强连通分量 存储结构一 邻接矩阵
  • realme支持鸿蒙系统,realme Q3 Pro:接受不了这四个缺点,请谨慎入手!

    64MP主摄 可能不是你想的那样 realme Q3 Pro的64MP像素后置主摄传感器也是发布会中没有提到的 其实这个主摄并非GT系列的IMX682传感器 而是豪威科技的OV64B传感器 IMX682的底更大 向来有底大一级压死人的说法
  • MySQL错误处理--1146错误

    在MySQL的主从复制过程中 出现了1146错误 提示的错误原因是 在默认的数据中找不到指定的表 show slave status G 现实的同步状态 Slave IO Running YESSlave SQL Running NoLas
  • WebGL(二)——什么是WebGL

    WebGL 二 什么是WebGL 什么是WebGL WebGL 全写Web Graphics Library 字面意义理解就是web图像库 是一种3D绘图协议 也可以说是一个负责图形处理的JavaScript API 可在任何兼容的Web浏
  • 蒙特卡洛方法(入门详解)

    一 定义 蒙特卡洛又称统计试验法 是基于概率论的算法 其实质就是将问题转化为一个概率问题 并用计算机模拟产生一堆随机数 再对随机数进行统计工作 蒙特卡洛模拟方法 建立概率模型 计算机模拟 数理统计 二 原理 大数定理证明 在大样本的情况下
  • 顶刊IJCV 2022!基于深度学习的图像去模糊综述来了!

    点击下方卡片 关注 CVer 公众号 AI CV重磅干货 第一时间送达 点击进入 gt CV 微信技术交流群 转载 机器之心 本文提出了一个图像去模糊方向的综述 来自澳大利亚国立大学 中山大学 美国加州大学 Merced 分校 日本乐天研究
  • 前端不使用 i18n,如何优雅的实现多语言?

    前言 关于ERP管理系统的多语言 或者其他应用的多语言一直是我们比较麻烦的问题 大部分是使用 i18n 在代码里进行配置 如果想要修改语言就要自己去改代码 今天我们分享一下如何不使用 i18n 去实现多语言 用到以下的技术栈 ERP管理系统
  • [Python图像处理] 四十一.Python图像平滑万字详解(均值滤波、方框滤波、高斯滤波、中值滤波、双边滤波)

    该系列文章是讲解Python OpenCV图像处理知识 前期主要讲解图像入门 OpenCV基础用法 中期讲解图像处理的各种算法 包括图像锐化算子 图像增强技术 图像分割等 后期结合深度学习研究图像识别 图像分类应用 希望文章对您有所帮助 如
  • 安卓手机玩游戏卡顿怎么解决_告别卡顿 打造Android手机的“游戏模式”

    如今的手游 除了大型3D单机游戏以外 对硬件的需求其实谈不上太过苛刻 比如 王者荣耀 哪怕是骁龙430级别的处理器也能流畅运行 而之所以游戏过程中偶尔出现卡顿 可能还是一些细节设置没有优化到位 有的手机已经自带游戏模式了 问题是没有这个功能
  • 烂大街的 Spring 循环依赖问题,你真以为自己会了吗?

    什么是循环依赖 所谓的循环依赖是指 A 依赖 B B 又依赖 A 它们之间形成了循环依赖 或者是 A 依赖 B B 依赖 C C 又依赖 A 形成了循环依赖 更或者是自己依赖自己 它们之间的依赖关系如下 这里以两个类直接相互依赖为例 他们的
  • google GMS测试环境搭建详细教程

    1 解压jdk tar xvf jdk 8u172 linux x64 tar gz 2 配置java环境 sudo chmod 777 etc profile sudo vim etc profile 3 测试java java vers
  • 树莓派基础之嵌入式开发概述

    树莓派初见 一 嵌入式概述 二 树莓派开发笔记 三 Linux库引入之分文件编程 四 Linux库引入之动态库和静态库 五 静态库的生成和使用 六 动态库的生成和使用 一 嵌入式概述 1 什么是嵌入式 a 嵌入式即嵌入式系统 IEEE 美国
  • 边缘计算初探:什么是边缘计算,它能做什么?

    边缘计算是指在靠近智能设备或数据源头的一端 提供网络 存储 计算 应用等能力 达到更快的网络服务响应 更安全的本地数据传输 边缘计算可以满足系统在实时业务 智能应用 安全隐私保护等方面的要求 为用户提供本地的智能服务 边缘计算一般由云端管理
  • 比较C#和Java

    本文对比了C 与Java这两种编程语言 这两种语言都具有自动垃圾回收以及运行时编译执行的特点 并且两者的语法都有主要继承自C语言 C 因此二者有很多相似之处 但由于C 是作为C 和Java的混合体而在Java之后所创造的 因此C 相较Jav
  • Java位运算符详解

    按位与运算符 参加运算的两个对象 按二进制位进行 或 运算 运算规则 0 0 0 0 1 1 1 0 1 1 1 1 即 参加运算的两个对象只要有一个为1 其值为1 例如 3 5 即 0000 0011 0000 0101 0000 011
  • SQL_Case When 嵌套

    select psperdno 期数 count case when psperdno 1 then case when date datadate psduedt gt 0 then a custid end else case when
  • 第一次竞赛-E.找饭友

    中国幅员辽阔 来自全国各地的朋友的饮食口味也不尽相同 饮食喜好相同的人会组在一起吃饭 我们称其互为 饭友 而你意外得到了一份食堂的流水账单记录 想从中发现今天来食堂吃饭的人当中每个人究竟有多少名饭友 首先你对账单的记录进行了一番整理 把N个
  • Java 5-12、数据模型与接口规范

    5 12 数据模型与接口规范 一 常用数据模型 VO controller View Object Value Object 视图对象 值对象 最有争议的模型 规范写法只存在于controller层 因为swagger注解只作用于VO中的属
  • 7.1-系统调用和 UNIX Shell

    复习 状态机模型 程序 多线程程序 操作系统 操作系统是状态机的管理者 本次课回答的问题 Q 我们是操作系统的用户 但操作系统提供的 API 并不是 我们 作为人类用户能直接使用的 那 我们 到底怎么用操作系统 本次课主要内容 UNIX S
  • late_initcall_sync、late_initcall 和 module_init 的区别及其优缺点

    late initcall sync late initcall 和 module init 都是 Linux 内核中用于模块初始化的函数 它们各自有优缺点 具体如下 1 late initcall sync 优点 late initcal