社区
Linux_Kernel
帖子详情
sys/module的读写
qq69696698
2012-07-20 04:51:23
请问大家,
在linux kernel下,对sys/module下面的文件节点进行读写操作,会调用到kernel中哪个文件中的什么函数?
举个例子,假如我现在cat /sys/module/lowmemorykiller/parameters/minfree ,会调用到kernel中的哪个读函数,之前怀疑是module_attr_show,但现在打dmesg确发现不是。请高手指点。
...全文
353
6
打赏
收藏
sys/module的读写
请问大家, 在linux kernel下,对sys/module下面的文件节点进行读写操作,会调用到kernel中哪个文件中的什么函数? 举个例子,假如我现在cat /sys/module/lowmemorykiller/parameters/minfree ,会调用到kernel中的哪个读函数,之前怀疑是module_attr_show,但现在打dmesg确发现不是。请高手指点。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qq69696698
2012-07-24
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
/sys下的所有文件的读写入口,自然都是一样的,只是往后的分支不一样了
sysfs_read_file-->fill_read_buffer-->注册的show
[/Quote]
十分感谢您的帮助,对您的技术也感到钦佩!
qq69696698
2012-07-23
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
lz 举的例子看起来是android下的
不知道lz只是关心sys/module/xxx/parameters/xxx 这样的节点呢,还是关心所有sys 下的节点
sys/module/xxx/parameters/xxx 这样的节点,暴露给程序员的接口只有module_param
跟下去就发现内核自己的读写接口是
param_set_uint
param_get_uint ……
[/Quote]
是android下的,我关心的是sys/module/xxx/parameters/xxx 这样的节点。
的确如您所说,调用的接口为module_param,不知道机器除了什么原因卡在那所以dmesg打不过去,换了机器后解决了,谢谢您的解答!
顺便问下,关于sys 下的其他节点的访问接口是哪些呢?在此学习了,多谢!
deep_pro
2012-07-23
打赏
举报
回复
/sys下的所有文件的读写入口,自然都是一样的,只是往后的分支不一样了
sysfs_read_file-->fill_read_buffer-->注册的show
deep_pro
2012-07-21
打赏
举报
回复
lz 举的例子看起来是android下的
不知道lz只是关心sys/module/xxx/parameters/xxx 这样的节点呢,还是关心所有sys 下的节点
sys/module/xxx/parameters/xxx 这样的节点,暴露给程序员的接口只有module_param
跟下去就发现内核自己的读写接口是
param_set_uint
param_get_uint 诸如这些
qq69696698
2012-07-20
打赏
举报
回复
谢谢楼上这位仁兄的解答,cat某个文件节点是会调用到open,read以及close函数。
但sysfs好像有一套读写机制,对sys/module/目录下某个文件节点的读或写都会调用对应的函数,read只是一个表面的调用函数,相当于提供给外面的一个interface,我想问的是,最后实际调用的sysfs内的函数究竟是哪个?
Wenxy1
2012-07-20
打赏
举报
回复
struct file_operater中的open, read, close等函数。
linux 内核权限设置,Linux内核模块参数权限
本文介绍了在Linux内核模块编程中如何设置参数权限,通过
module
_param()宏定义参数并控制其
读写
权限。以一个简单的示例说明了模块参数的声明、装载、查看和卸载过程,并详细解释了参数文件在/
sys
/
module
目录下的权限设置。
linux驱动参数及参数的设置及修改
Linux内核模块加载后,在/
sys
/
module
目录下会创建对应模块的文件夹,包含模块信息和参数。参数通过
module
_param在驱动代码中定义,如dhd_msg_level和firmware_path。权限设置影响用户层是否可见及
读写
,例如iw_msg_level设为0则对用户层不可见。驱动和用户层操作的参数变量是同步的,实现双向交互。
【Linux内核模块】模块参数详解
本文深入讲解Linux内核模块参数的定义、声明与使用方法,涵盖整数、字符串、布尔(bool/invbool)及数组类型参数;介绍
module
_param宏用法、权限控制(如0644)、/
sys
/
module
下的动态
读写
机制,并剖析参数解析原理、类型校验与常见错误(如Invalid parameters、Permission denied)。强调参数必须为全局变量,禁止局部变量。
linux
module
目录,/
sys
/
module
/ 模块信息目录与/proc/
module
s文件
本文介绍了Linux内核模块的编译选择,以及系统中两个关键目录——/
sys
/
module
/和/proc/
module
s——如何存储模块信息。/
sys
/
module
/包含所有模块的详细信息,无论模块是内联还是编译为外部ko文件。/proc/
module
s文件则列出模块名称、内存占用和使用计数。此外,还讨论了不同目录下的文件和它们的用途,如holders、parameters、refcnt和srcversion等。
Linux_Kernel
4,469
社区成员
17,459
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章