我正在分析阻止层的sysfs函数。
我添加(附加)一个文件(图表),我用它来解释
的功能顺序流程
/usr/src/linux-source-4.8.0/linux-source/4.8.0/block/blk-mq-sysfs.c。
我理解这些职能的关系。但我找不到内核如何更改属性文件的值。 我听说这些文件是通过调用sysfs_create_group()函数在/ sysfs / hierarchy中创建的。
当我做一些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
内核会让这些文件向我们提供有关已完成的请求编号,已分派的编号,合并的编号,待处理的request_list的信息。
内核应该在处理I / O请求时更改这些文件的值。但我不知道内核何时以及如何改变这些价值。 我想知道内核何时以及如何更改属性文件的这些值,因为我必须找出属性文件的这些值究竟意味着什么。
这里是我的环境。
1。)每10个核心2个插座
2。)内核版本:4.8.17
答案 0 :(得分:0)
当我使用' cat'到属性文件(在我的例子中'调度'),文件将被打开,然后,几个与该文件有关的结构将在ram中创建(在coures中,在sysfs的情况下,后备存储不会存在)。
read()函数将被调用然后,show()函数将被调用。