[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