搭建一个和linux开发者知识共享和学习的平台
发布时间:2025-01-07 09:55:36
Linux 内核里,为了解决驱动初始化的难题,引入了 initcall 机制。简单来说,initcall 机制就是一套规范化、自动化的驱动初始化函数管理方案。它在内核编译阶段 “大显身手”,通过一系列精心设计的宏定义,巧妙地将不同驱动的初始化函数按照预设的优先级顺序,依次存放到特定的内存段中。当内核启动时,就如同一位训练有素.........【阅读全文】
发布时间:2025-01-07 09:47:33
按照是否与操作系统直接相关来分类代码NVIDIA GPU驱动的大多数内核模块可分为两个组件(部分):一个“与操作系统无关”的组件:这是独立于操作系统的每个内核模块的组件。一个“内核接口层”:这是特定于Linux内核版本和配置的每个内核模块的组件。当把编译好的驱动模块(.........【阅读全文】
发布时间:2025-01-07 09:41:34
那如果要判断内核函数是否执行和调用关系我们知道要用printk或者dump_stack来验证。不过这种方法的有些方法需要每次编译烧录工作效率过低,那没有效率高的方法,答案是有的!Linux内核里提供了一些调试追踪的工具如ftrace,kprobe,uprobe,eBPF,perf,SystemTap等。其中最常用且方便的是ftrace , 那么本篇来讲下Linux性能.........【阅读全文】