
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本文提供了一个Linux内核模块示例,用于演示常见的时间戳API使用方式。主要内容包括:1) jiffies相关操作,包括获取当前值、转换毫秒/微秒与jiffies之间的转换、时间比较等;2) 内核时间API,如获取单调时间、启动时间、纳秒级时间戳和实时时间;3) 定时器功能演示,包括初始化和回调处理;4) 时间转换工具函数。该模块还通过proc文件系统提供简单的用户接口,方便测试和查看当前时间信
可见定义了一个module_param_cb的函数,将名字以及比如param_ops_int的处理函数传入(包括地址和权限),然后进行处理。比如自定义module_param_cb替换module_param来定义一个struct kernel_param,以及他自己的处理函数。的这个变量,而这个变量的实际值是:“param1”,也就是module_param的第一个参数,然后THIS_MODUL

在定位linux crash问题过程中,在使用rd读取堆栈(比如rd -s 0xffffabcd 64)这种的时候经常会看到.data…percpu的字段,是什么?怎么定义的?有什么问题?如何获取实际地址?

在使用crash定位问题的时候需要使用ko使用对应的符号信息。直接用ko.xz无法正确加载。需要恢复成ko文件。本文介绍如何解压缩。

网卡上的拥塞控制参数,通过Linux debug fs灵活的提供给用户,比使用mlxreg命令更加方便和直接以及操作面更广泛。把握住主线,就能不被命令困惑。提交这些参数的patch: https://patchwork.kernel.org/project/linux-rdma/patch/20170530070515.6836-1-leon@kernel.org/Mellanox在Linux内核

(也可以直接在vscode中配置,忽略)主要步骤:在~/.ssh/config中添加服务端的host,以便vscode的remote中能够登录。

KASLR是一个什么技术点其实不重要,但重要的是有了KASLR这个功能后,造成内核中某个符号(函数 or 变量)在System.map中的地址和实际不一样了(实际: cat /proc/kallsyms),进一步带来了分析类似crash问题中的打印地址不准确问题。所以必须得知道这是什么?

不断积累和记录,能够更灵活的运用和回忆。
看到一种总结五类问题,梳理方向还不错。
服务器风扇可以通过PWM输出来控制转速。








