[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