[devel] Q: CONFIG_PSI_DEFAULT_DISABLED=y
Alexey Sheplyakov
asheplyakov на basealt.ru
Вт Сен 7 12:16:21 MSK 2021
On 06.09.2021 19:47, Andrey Savchenko wrote:
>> В тех местах, где и так всё упирается в ввод-вывод (считая манипуляции
>> таблицами страниц), например, __perform_reclaim, __alloc_pages_direct_compact,
>> ядро вызывает psi_memstall_enter/psi_memstall_leave.
>> Которые по сути ставят/снимают флажок.
>
> Это может быть несущественно при дисковом i/o (и то я не уверен на
> счёт современных NVMe),
Будтье спокойны - от блокировок в blk никакой NVMe не поможет.
> но не стоит игнорировать манипуляции
> с памятью: ядро делает дополнительный вызов, это создаёт лишний
> переход или даже несколько, уменьшает эффективность использования
> кеша и т.д. и т.п..
__perform_reclaim записывает "грязные" страницы на диск и изменяет
таблицы страниц. Задержки ввода-вывода (даже на nvme) на порядки больше,
чем какой-то там лишний вызов. А при изменениях таблицы страниц происходит
сброс кешей, так что уменьшить эффективность уже некак.
> Обратите внимание: для функциональности с побочными эффектами
> предусмотрен флажок для вкл/выкл по-умолчанию — ну прямо как для
> CONFIG_PSI.
Флажок, отключающий psi, предназначен для публики, которая меряется
результатами hackbench.
https://lore.kernel.org/all/20181127165329.GA29728@cmpxchg.org/T/#u
Подробная информация о списке рассылки Devel