From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.1 Message-ID: <3cec8931-d4f3-10f2-dc91-c1718f0e836a@basealt.ru> Date: Sun, 20 Apr 2025 10:15:06 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Content-Language: en-US To: Vitaly Chikunov References: <20250419153002.925933-1-kovalev@altlinux.org> <20250419193755.q7njma6cqjsetmdn@altlinux.org> <9b7ffa46-fdbe-89e0-bfb9-a311e86a4b85@basealt.ru> From: Vasiliy Kovalev In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Cc: ALT Linux kernel packages development Subject: Re: [d-kernel] [PATCH 6.15 0/4] config: Remove obsolete options X-BeenThere: devel-kernel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux kernel packages development List-Id: ALT Linux kernel packages development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Apr 2025 07:15:12 -0000 Archived-At: List-Archive: List-Post: 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