当前位置: 首页 > news >正文

kernel中外部传递参数使用方法

在 Linux 内核模块开发中,module_param(rpc_tdebug, uint, 0600); 表示定义一个可通过外部传递参数进行配置的模块级变量,具体解析如下:

  1. 参数名称
    rpc_tdebug 是模块参数的变量名,该变量需在代码中提前声明为静态全局变量(例如 static uint rpc_tdebug;)‌

  2. 参数类型
    uint 表示该参数为无符号整型(unsigned int),符合内核支持的 module_param 基础类型之一‌

  3. 访问权限
    0600 是八进制权限值,表示在 sysfs 文件系统中生成的参数文件权限为:

    • 用户(Owner)‌:可读可写(rw-
    • 组(Group)‌:无权限(---
    • 其他用户(Others)‌:无权限(---)‌
  4. 功能作用

    • 模块加载时,可通过 insmod 命令直接赋值,例如:

      insmod module_name.ko rpc_tdebug=1

    • 模块加载后,可通过 /sys/module/[模块名]/parameters/rpc_tdebug 文件动态查看或修改该参数值(需权限允许)‌

使用示例:

某kernel drvier 代码中追加如下内容

static unsigned int rpc_tdebug;
module_param(rpc_tdebug, uint, 0600);
MODULE_PARM_DESC(rpc_tdebug, "Testdebug switch for rpc debug");

#define ALAP_DEBUG_L1(str, args...) do {\
	if (rpc_tdebug > 0)\
		dev_info(&spi->dev, str, ##args);\
} while (0)\

#define ALAP_DEBUG_L2(str, args...) do {\
	if (rpc_tdebug > 1)\
		dev_info(&spi->dev, str, ##args);\
} while (0)\

代码中使用该宏来描述相关log,可以在后期动态调整log等级

控制台输入命令  

echo 2 >/sys/module/alap_rpc/parameters/rpc_tdebug

输入前效果

 

输入后效果

http://www.dtcms.com/a/81993.html

相关文章:

  • 20250321在荣品的PRO-RK3566开发板的buildroot系统下使用UART1
  • 几个JSON在AutoCAD二次开发中应用比较有优势的场景及具体案例
  • 威联通 后台可用命令查看Bash
  • <项目> 主从Reactor模型的高并发服务器
  • Python与区块链隐私保护技术:如何在去中心化世界中保障数据安全
  • vlan实验
  • Python异常简介
  • Manus与Dify差异分析
  • 19.哈希表的实现
  • 【数据结构】kmp算法介绍+模板代码
  • 树莓集团落子海南,解读数字产业新势力
  • 2014-2023年各区县数字普惠金融指数数据
  • 【设计模式】C++ 单例模式总结与最佳实践
  • 3DMAX曲线生成器插件CurveGenerator使用方法
  • C语言【动态内存管理】详解
  • Beans模块之工厂模块注解模块@Qualifier
  • 计算机组成原理和计算机网络常见单位分类及换算
  • 机器学习算法实战——天气数据分析(主页有源码)
  • 算法及数据结构系列 - 树
  • 「AI+办公」共学(四):办公综合应用
  • Python 打造高效开发辅助全能工具箱
  • mysql( 8.3.0) LISTAGG
  • 使用Multiprocessing模块创建子进程,需要放到__main__中
  • 【最后203篇系列】021 Q201再计划
  • 《慢慢变富》第三章 估值篇:价值的锚与安全边际
  • 广度优先搜索(BFS)完全解析:从原理到 Java 实战
  • 信创-人大金仓数据库创建
  • 昆仑技术重构AI大模型落地范式,长期作“加法”迎来国产生态化“拐点”
  • Performance Hub Active Report
  • 机器学习之KL散度推导