[d-kernel] CONFIG_BASE_SMALL=0 Was: (Re: [PATCH 1/1] Change define boolean option 'm' to 'Y')
Alexei Takaseev
alexei на taf.ru
Ср Ноя 5 05:05:42 MSK 2025
Добрый день!
04.11.2025 22:36, Alexei Takaseev пишет:
> -CONFIG_BASE_SMALL=0
Есть вопрос по этой опции. В описании такое:
Enabling this option reduces the size of miscellaneous core
kernel data structures. This saves memory on small machines,
but may reduce performance.
При этом по-умолчанию в CONFIG_BASE_SMALL=0 она выставляется только для
32-разрядных встраиваемых контроллеров, на 64-разрядных платформах и на
x86 по-умолчанию "is not set". Посмотрел как обстоит дело у других
платформ, у Debian, Fedora и Oracle выставлено в # CONFIG_BASE_SMALL is
not set . Значение CONFIG_BASE_SMALL=0 стоит у Ubuntu. Есть все
основания полагать, что такое значение опции это атавизм, текущее
значение которого сейчас не актуально и приносит только вред,
ограничивая полезную функциональность.
Судя по исходникам, BASE_SMALL влияет на наличие-отсутствие
дополнительных полей в структурах, относящихся к обработке сетевого
трафика, системы мультиплексирования потоков, лимита устройств на
системной шине и в принципе включает более продвинутый механизм
управления ресурсами системы, я предлагаю выставить эту опцию в "#
CONFIG_BASE_SMALL is not set" осознанно на всех собираемых ядрах,
возможно за исключением сборки под мобильные устройства, хотя для всех
arm64 она тоже идет как "not set".
Подробная информация о списке рассылки devel-kernel