ALT Linux kernel packages development
 help / color / mirror / Atom feed
From: Vasiliy Kovalev <kovalev@altlinux.org>
To: Vitaly Chikunov <vt@altlinux.org>
Cc: ALT Linux kernel packages development <devel-kernel@lists.altlinux.org>
Subject: Re: [d-kernel] [PATCH 6.15 0/4] config: Remove obsolete options
Date: Sun, 20 Apr 2025 10:15:06 +0300
Message-ID: <3cec8931-d4f3-10f2-dc91-c1718f0e836a@basealt.ru> (raw)
In-Reply-To: <sxbdknc4dapgbqh4hg5zrs4hupsd2d5hl5pgapnlt3dcrvhw5w@uzy763qvgsnk>

Vitaly,

20.04.2025 06:18, Vitaly Chikunov wrote:
> 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 ядер
> (умножить на кол-во архитектур), или не ломать то, что есть. То что
> есть -- не так плохо как может показаться на первый взгляд.

$ git diff --stat kernelbot/un-def/p9..kernelbot/un-def/p10  -- config | tee
  config | 1217 
++++++++++++++++++++++++++++++++++++++++------------------------
  1 file changed, 763 insertions(+), 454 deletions(-)

$ git diff --stat kernelbot/un-def/p10..kernelbot/6.12/sisyphus  -- 
config | tee
  config | 367 
+++++++++++++++++++++++++++++++++++++++++++++++++++++------------
  1 file changed, 300 insertions(+), 67 deletions(-)

$ git diff --stat kernelbot/un-def/p9..kernelbot/6.12/sisyphus  -- 
config | tee
  config | 1538 
+++++++++++++++++++++++++++++++++++++++++++---------------------
  1 file changed, 1040 insertions(+), 498 deletions(-)

где un-def/p9 - ветка с ядром 5.10
un-def/p10 - ветка с ядром 6.1

При таких масштабных расхождениях аргумент о "небольшом рассинхроне"
и удобстве бэкпортирования уже неактуален - конфиги давно радикально 
отличаются,
и простой cherri-pick не всегда сработает без ручного вмешательства.

Удаление ~400 устаревших строк значительно не усугубит ситуацию, но улучшит
читаемость и понимание конфигов.

> У других
> дистрибутивов тоже не идеальные системы, я разбирался в вопросе.

До возможного появления "системы конфигурирования" чистка от устаревших 
опций - это
скорее шаг к упрощению, а не усложнению. Меньше "шума" в конфигах 
сделает и текущую
поддержку, и будущую систематизацию более прозрачной.

>>
>>>>
>>>> Эти опции выявлены анализом исходного кода ядра и
>>>> конечного конфиг файла (/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@lists.altlinux.org
>>>> https://lists.altlinux.org/mailman/listinfo/devel-kernel
>>>
>>> _______________________________________________
>>> devel-kernel mailing list
>>> devel-kernel@lists.altlinux.org
>>> https://lists.altlinux.org/mailman/listinfo/devel-kernel
>>
>> -- 
>> --
>> Thanks,
>> Vasiliy

-- 
--
Thanks,
Vasiliy


  reply	other threads:[~2025-04-20  7:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-19 15:29 Vasiliy Kovalev
2025-04-19 15:29 ` [d-kernel] [PATCH 6.15 1/4] config: Remove obsolete options (unused in v6.12-v6.15) Vasiliy Kovalev
2025-04-19 15:30 ` [d-kernel] [PATCH 6.15 2/4] config: Remove obsolete options (unused in v6.13-v6.15) Vasiliy Kovalev
2025-04-19 15:30 ` [d-kernel] [PATCH 6.15 3/4] config: Remove obsolete options (unused in v6.14-v6.15) Vasiliy Kovalev
2025-04-19 15:30 ` [d-kernel] [PATCH 6.15 4/4] config: Remove obsolete options (unused in v6.15) Vasiliy Kovalev
2025-04-19 19:37 ` [d-kernel] [PATCH 6.15 0/4] config: Remove obsolete options Vitaly Chikunov
2025-04-20  2:35   ` Vasiliy Kovalev
2025-04-20  3:18     ` Vitaly Chikunov
2025-04-20  7:15       ` Vasiliy Kovalev [this message]
2025-04-20 23:47         ` Vitaly Chikunov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3cec8931-d4f3-10f2-dc91-c1718f0e836a@basealt.ru \
    --to=kovalev@altlinux.org \
    --cc=devel-kernel@lists.altlinux.org \
    --cc=vt@altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux kernel packages development

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel-kernel/0 devel-kernel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel-kernel devel-kernel/ http://lore.altlinux.org/devel-kernel \
		devel-kernel@altlinux.org devel-kernel@altlinux.ru devel-kernel@altlinux.com
	public-inbox-index devel-kernel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel-kernel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git