【发布时间】:2018-04-29 09:10:46
【问题描述】:
我正在分析块层的 sysfs 函数。
我添加(附加)了一个文件(图表),用于解释
的函数序列流程
/usr/src/linux-source-4.8.0/linux-source/4.8.0/block/blk-mq-sysfs.c.
我了解这些功能的关系。但我找不到内核如何更改属性文件的值。 我听说这些文件是通过调用 sysfs_create_group() 函数在 /sysfs/ 层次结构中创建的。
当我执行一些 I/O 请求时,系统会生成一些文件,如下所示。 (我用的是 nvme ssd 750 系列)
root@leedoosol:/sys/devices/pci0000:00/0000:00:03.0/0000:03:00.0/nvme/nvme0/nvme0n1/mq/0/cpu0# ls
completed dispatched merged rq_list
内核会制作这些文件以向我们提供有关已完成请求编号、已调度编号、合并编号、待处理请求列表的信息。
内核在处理 I/O 请求时应该改变了这些文件的值。但我不知道内核何时以及如何更改这些值。 我想知道内核何时以及如何更改属性文件的这些值,因为我必须找出这些属性文件值的确切含义。
这里是我的环境。
1.) 每 10 核 2 个插槽
2.) 内核版本:4.8.17
【问题讨论】:
标签: linux linux-kernel driver linux-device-driver sysfs