Я анализирую функции sysfs блочного слоя.
я добавил (приложил) файл (диаграмму), который я сделал для объяснения последовательности функций
/usr/src/linux-source-4.8.0/linux-source/4.8.0/block/blk-mq-sysfs.c.
Я понял взаимосвязь этих функций. но я не мог найти, как ядро изменяет значения файла атрибута.
я слышал, что эти файлы создаются в иерархии / sysfs / с помощью функции sysfs_create_group ().
Когда я делаю несколько запросов ввода / вывода, система создает несколько файлов, как показано ниже.
(я использую NVM 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
Ядро сделало бы эти файлы, чтобы предоставить нам информацию о номерах завершенных запросов, отправленном номере, объединенном номере, ожидающем запросе.
И ядро должно было изменить значение этого файла при обработке запроса ввода-вывода. но я не знаю, когда и как ядро изменит это значение.
я хочу знать, когда и как ядро изменяет эти значения файла атрибута, потому что я должен выяснить, что именно означают эти значения файла атрибута.
здесь мои окружения.
1.) 2 розетки на 10 ядер
2.) Версия ядра: 4.8.17
3.) Intel SSD 750 series
![enter image description here](https://i.stack.imgur.com/C4Nlk.png)