Когда и какая функция используется для изменения файла в sysfs Linux? - PullRequest
0 голосов
/ 29 апреля 2018

Я анализирую функции 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

1 Ответ

0 голосов
/ 01 мая 2018

возможно я нашел ответ. функции show store вызываются, когда я читаю мой файл атрибутов ядро не фиксирует их значение атрибута файла. ядро не нужно.

когда я использую 'cat' для файла атрибутов (в моем примере 'отправлено'), файл будет открыт, а затем несколько структур, связанных с этим файлом, будут созданы в ram (из coures, в случае sysfs, бэк-магазин не будет существовать).

Будет вызвана функция read (), а затем будет вызвана функция show ().

...