я анализирую функции sysfs блочного слоя.
я добавил (прикрепил) файл (диаграмму), который я сделал, чтобы объяснить последовательность функций
/usr/src/linux-source-4.8.0/linux-source/4.8.0/block/blk-mq-sysfs .с.
Я понял взаимосвязь этих функций. но я не мог найти, как ядро меняет значения файла атрибутов. я слышал, что эти файлы создаются в иерархии /sysfs/ вызовом функции sysfs_create_group().
Когда я выполняю некоторые запросы ввода-вывода, система создает некоторые файлы, как показано ниже. (я использую 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.
И ядро должно было изменить значение этого файла при обработке запроса ввода-вывода. но я не знаю, когда и как ядро меняет это значение. я хочу знать, когда и как ядро изменяет эти значения файла атрибутов, потому что я должен выяснить, что именно означают эти значения файла атрибутов.
здесь мои окружения.
1.) 2 сокета на 10 ядер
2.) Версия ядра: 4.8.17