[d-kernel] [PATCH 6.15 0/4] config: Remove obsolete options

Vitaly Chikunov vt на altlinux.org
Вс Апр 20 06:18:07 MSK 2025


Vasiliy,

On Sun, Apr 20, 2025 at 05:35:38AM +0300, Vasiliy Kovalev wrote:
> 19.04.2025 22:37, Vitaly Chikunov wrote:
> > Vasiliy,
> > 
> > On Sat, Apr 19, 2025 at 06:29:58PM +0300, Vasiliy Kovalev wrote:
> > > Эта серия патчей и последующие в течение ~5 мин.,
> > > имеющие однотипный шаблон *Remove obsolete options*,
> > > удаляют устаревшие опции в соответствующих config*
> > 
> > Нет цели все чистить, так что отсылка на чистку не обоснование
> > изменения.
> 
> Vitaly, можете тогда прояснить обратную цель - какое обоснование
> оставлять устаревшие опции в ядрах, которые не оказывают никакого
> влияния на сборку ядра и зачем их наследовать в следующие версии
> веток?

Я уже пояснил. За не именем "системы конфигурации", это наилучший вариант
для бекпортирования изменений в конфиги.

> Например, с таким подходом в конфиге ветки 6.12 набралось
> почти 400 лишних строк:
> 
> (патч "config: Remove obsolete options (unused in v6.12-v6.15)" поверх 6.12)
> git diff --stat HEAD~1
>  config | 382 --------------------------------------------------------------
>  1 file changed, 382 deletions(-)
> 
> Вероятность возвращения связанного функционала близка к нулю,
> особенно для стабильных веток. Даже если такое и произойдет, вернуть
> конкретную опцию не является существенной проблемой, к тому же часть
> популярных опций задается по-умолчанию в исходном коде.
> 
> > Тем более, это делает будущие патчи на конфиги не применимы
> > ко всем конифгам - придется делать для каждого бранча/флейвора отдельный
> > патчсет. Что осложнит и их разработку, и применение.
> 
> Но ведь это уже нарушено, например, ваши коммиты в ветках 6.14+
>   ee7084f38bcf ("config: Enable more Intel hardware")
>   240723f0ad50 ("config: Enable CONFIG_NTSYNC=m")
> не бэкпортированы в ближайшие 6.12/6/13 , причем, помимо
> консистентности конфигов, патчи на первый взгляд также актуальны.

Их лучше скопировать. Для опций влияющих на поведение ядра я бы
предпочел, чтоб была задержка в их прохождении в стабильные ядра, чтоб их
успели протестировать. Если они вызовут нестабильность у ядра, то не
желательно их включать сразу у всех ядер.

Кроме того, небольшой рассинхрон, это небольшой рассинхрон, вы же
предлагаете удалять много опций в зависимости от версии, что вызовет
больший рассинхрон.

> 
> Ещё момент, на который стоит обратить внимание,
> изменения коммита f495aad09ab5 ("config: unset CONFIG_BLK_DEV_FD")
> есть в ветках 6.12/6.14/6.15
> но нет в ветке 6.13

Видимо, пропустил. Скопировал этот коммит сейчас. Спасибо что обратили внимание.

> 
> В противном случае, я бы для всех веток sisyphus ограничился бы
> отправкой одного патча из этой серии:
>   [PATCH 6.15 1/4] config: Remove obsolete options (unused in v6.12-v6.15)
> 
> Отправленные патчи "чистки конфигов" для остальных веток (на базе 6.1 и 5.10
> ядер)
> этой стратегии придерживаются.
> 
> > > файлах для удобства дальнейшей оценки конфигурации.
> > 
> > Пожалуйста, не используйте исходник конифига для оценки
> > конфигурации, используйте итоговый конфиг из собранных ядер.
> 
> Согласен и такой подход конечно правильный, но это также и противоречие,
> т.к. Вы сами анализируете исходники перед вынесением оценки конфигурации,
> например тут https://lore.altlinux.org/devel-kernel/20240610132835.qnphs5hv4rrym363@altlinux.org/
> вероятно по той же причине - удобство и скорость первичной оценки.

Исходный конфиг показывает намерение маинтайнеров.


> 
> --
> 
> Итого, чтобы придти к какому-то компромиссу, предлагаю для веток
> sisyphus (6.12+) и остальных (на базе 5.10 и 6.1) следующие действия:
> 
> 1) выполнить бэкпорт (cherry-pick) патчей для 6.13:
> f495aad09ab5 ("config: unset CONFIG_BLK_DEV_FD")
> 240723f0ad50 ("config: Enable CONFIG_NTSYNC=m")
> ee7084f38bcf ("config: Enable more Intel hardware")
> 
> 2) выполнить бэкпорт (cherry-pick) патчей для 6.12:
> 240723f0ad50 ("config: Enable CONFIG_NTSYNC=m")
> ee7084f38bcf ("config: Enable more Intel hardware")

В принципе, так и надо сделать.

> 
> 3) применить один патч для всех (sisyphus 6.12-6.15) веток из этой серии:
> [PATCH 6.15 1/4] config: Remove obsolete options (unused in v6.12-v6.15)
> 
> 4) применить остальные отправленные (*Remove obsolete options*) патчи
> для соотв.  веток на базе 5.10 и 6.1 ядер.

Эти патчи не приносят пользы, но вносят ещё больший рассинхрон в конфиги.

Желательно или придумать удобную систему конфигурирования 13 ядер
(умножить на кол-во архитектур), или не ломать то, что есть. То что
есть -- не так плохо как может показаться на первый взгляд. У других
дистрибутивов тоже не идеальные системы, я разбирался в вопросе.

> 
> > > 
> > > Эти опции выявлены анализом исходного кода ядра и
> > > конечного конфиг файла (/boot/config*), поставляемого
> > > kernel-image*.rpm пакетом соотв. ветки.
> > > 
> > > [PATCH 6.15 1/4] config: Remove obsolete options (unused in v6.12-v6.15)
> > > [PATCH 6.15 2/4] config: Remove obsolete options (unused in v6.13-v6.15)
> > > [PATCH 6.15 3/4] config: Remove obsolete options (unused in v6.14-v6.15)
> > > [PATCH 6.15 4/4] config: Remove obsolete options (unused in v6.15)
> > 
> > > _______________________________________________
> > > devel-kernel mailing list
> > > devel-kernel at lists.altlinux.org
> > > https://lists.altlinux.org/mailman/listinfo/devel-kernel
> > 
> > _______________________________________________
> > devel-kernel mailing list
> > devel-kernel at lists.altlinux.org
> > https://lists.altlinux.org/mailman/listinfo/devel-kernel
> 
> -- 
> --
> Thanks,
> Vasiliy


Подробная информация о списке рассылки devel-kernel