, Я не уверен, с чего это инициализировано.
мпьютере CentOS 5.5 с ядром Linux версии 2.6.18-194.26.1.el5 я заметил, что posix_fadvise (WILLNEED) делает чтение файлов размером 60 КБ намного медленнее, чем обычный ввод-вывод, почти на 200%.
Кажется, что фактический вызов fadvise является синхронным, и это также задерживает планирование других потоков в приложении, которые используют данные, считываемые из файлов.
Возможно ли, что ядро занято извлечением данных с дисков из-за вызова fadvise и в итоге задерживает выполнение другой запланированной задачи? Кажется, что это противоречит ожидаемому асинхронному поведению предварительной выборки, которое мы ожидаем от вызова fadvise.
Мой вопрос: есть ли какие-либо настраиваемые параметры ядра, которые можно было бы использовать для обеспечения асинхронного поведения для posix_fadvise (WILLNEED)? Как увеличение потоков ввода-вывода в ядре, кеш страниц?