LINUX.ORG.RU

Линус Торвальдс жестко отверг изменения архитектуры RISC-V для кода ядра Linux 6.17

 , , , ,


0

4

Линус Торвальдс со словами «no f%^5ing clue» и «Garbage» жестко отверг изменения архитектуры RISC‑V для кода ядра Linux 6.17. Обновления для RISC-V не войдут в новый цикл, и их придётся повторить для версии 6.18 позднее в этом году. Торвальдс называл по крайней мере часть предлагаемого кода RISC-V мусором, а также ответил разработчикам, что он был отправлен слишком поздно в течение окна слияния.

27 июля 2025 года Линус Торвальдс представил первый стабильный релиз ядра Linux 6.16 под кодовым названием Baby Opossum Posse (Отряд детенышей опоссума). «Стоит отметить, что предстоящее окно слияния для версии 6.17 будет для меня немного хаотичным: в августе у меня несколько семейных событий (свадьба и большой день рождения), и, поскольку семья разбросана не только по США, но и по Финляндии, я проведу около половины месяца в разъездах. Это значит, что я очень постараюсь сделать большую часть окна слияния за первую неделю перед началом моих поездок, и я уже предупредил об этом тех, кто обычно присылает мне больше всего pull requests», — предупредил ранее разработчиков Торвальдс.

Ожидается, что окно слияния Linux 6.17 завершится 10 августа с выпуском Linux 6.17-rc1. Для этой версии ядра предлагалось добавить RISC-V IOMMU к поддержке систем на базе ACPI, поддержку ACPI BGRT для отображения логотипов производителей при загрузке, обходные пути исправления ошибок, поддержку расширения Xmipsexectl, чтение типа MMU из дерева устройств, повышение производительности подкачки с учётом порядка байтов, поддержку kprobetrace, поддержку расширений MPXY и RPMI SBI, а также поддержку целостности потока управления с процессами пользовательского пространства. Однако этот pull request был отклонён Линусом Торвальдсом для Linux 6.17 из-за позднего обновления в окне слияния, особенно учитывая его зарубежные поездки на этой неделе. Он также оказался очень недоволен частью кода, включённого в этот pull request.

Торвальдс написал в рассылке для разработчиков ядра Linux:

«Нет. Это мусор, и он пришёл слишком поздно. Я запросил ранние pull request, потому что я в отъезде, и если вы не можете следовать этому правилу, хотя бы сделайте pull request хорошими.

Это добавляет разный мусор, не специфичный для RISC-V, но относящийся к общим заголовочным файлам.

И под «мусором» я имею в виду именно это. Это то, что мне никто никогда не должен присылать, не говоря уже о том, что он находится в конце окна слияния.

Вроде этого безумного и бессмысленного «помощника» make_u32_from_two_u16().

Эта штука делает мир действительно хуже для жизни. Это бесполезный мусор, который делает любого пользователя непонятным, и он действительно ХУЖЕ, чем отсутствие этого дурацкого «помощника».

Если вы запишете код как «(a << 16) + b», вы знаете, что он делает и где тут high word. Возможно, вам нужно добавить приведение типов, чтобы убедиться, что у «b» нет старших битов, которые загрязняют конечный результат, так что, возможно, он будет не совсем красивым, но и не будет неправильным и непонятным.

Напротив, если вы напишете make_u32_from_two_u16(a,b), вы ни f%^5ing clue не поймёте, какой порядок слов. Вау, вы только всё ХУЖЕ сделали, добавив этот «помощник» в универсальный файл, не относящийся к RISC-V, где, по-видимому, предполагается его использование для ухудшения другого кода.

Так что нет. Такие вещи нужно игнорировать. Это не попадает в универсальные заголовочные файлы и, чёрт возьми, не происходит поздно в окне слияния.

Вы предупреждены: больше никаких поздних pull request и никакого мусора за пределами дерева RISC-V.

Теперь я надеюсь, что внутри частей RISC-V нет мусора, но это ваш выбор. Но в универсальных заголовках не должно быть ничего лишнего. И отправка большого pull request накануне. Окно слияния закрывается в надежде, что я слишком занят, чтобы беспокоиться об этом, — невыигрышная стратегия.

Так что вы можете попробовать ещё раз в версии 6.18. РАНЬШЕ, в том окне слияния. И без мусора.

>>> Подробности

★★★★

Проверено: hobbit ()
Последнее исправление: maxcom (всего исправлений: 3)

Обычный рабочий процесс, Линус просил не присылать и просил не делать, они прислали и сделали. В чём новость-то?

Aceler ★★★★★
()

Ублюдочный ответ, вообще говоря. Вместо объяснения по сути вывалил стену эмоционального мусора. Особенно порадовало, что люди почему-то должны подстраиваться под его свадебное путешествие.

И нет, никакие битовые-байтовые операции не должны использоваться из кода напрямую, без хелперов. Иначе любое глобальное изменение, требующее пересмотра таких действий, выливается в БОЛЬ и поиск всех похожих мест по коду. Помните, наверное, сколько лет длился переход на 64 бита, и сколько багов было в каждом проекте при переносе?

EAT_INSIDE
()
Последнее исправление: EAT_INSIDE (всего исправлений: 4)

чот новость из топора. Ну да, Торвальдс пишет нехорошие слова в рассылке. Дальше то что? Это уже лет 10 точно известно, в чём новость?

mega_venik ★★★
()
Ответ на: комментарий от LamerOk

Да так, лайтовенько. Даже без разнообразных перкеле)

devl547 ★★★★★
()
Ответ на: комментарий от EAT_INSIDE

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

ergo ★★★
()

Везёт людям, их программировать такие гранды учат. Даже завидую.

vbr ★★★★★
()

make_u32_from_two_u16

по ссылкам не ходил, но в отношении данной функции полностью согласен с его трехэтажным матом :)

sergej ★★★★★
()
Ответ на: комментарий от EAT_INSIDE

Этя пйёстя нипафисяняльня, ути-ути. Линус Торвальдс - это и есть профессия.

thesis ★★★★★
()

Если вы запишете код как «(a << 16) + b», вы знаете, что он делает и где тут high word. Возможно, вам нужно добавить приведение типов, чтобы убедиться, что у «b» нет старших битов, которые загрязняют конечный результат, так что, возможно, он будет не совсем красивым, но и не будет неправильным и непонятным.

Вообще помощники и пишут один раз что бы не размышлять о том что «возможно, тут стоит виды привести» и где-то приводить, а где-то в попыхах забыть и потом ловить лулзы, особенно когда начнется копи-паст кусков кода вместо вызова отполированных помощников

Напротив, если вы напишете make_u32_from_two_u16(a,b), вы ни f%^5ing clue не поймёте, какой порядок слов. Вау, вы только всё ХУЖЕ сделали

Очевидно что достаточно переименовать а и б в хай и лоу чтоб стало гарантированно понятно вместо портянки текста о том почему не понятно 🤷🏻‍♂️

rukez ★★★★★
()

А моё внимание в этой истории привлекло вовсе не название функции, её адекватность и проч. А то, что когда Линус в отпуске, все должны подстраивать под него свой график работы. А это, на секундочку, система, которая настолько плотно внедрилась в нашу жизнь, что страшно подумать:

  1. в какое УГ, и как быстро превратится код Линукса, когда Линус уйдет на пенсию;

  2. как они будут продолжать разработку, обсуждая её в копролите (емейлы)?

  3. как они будут продолжать разработку, когда не понятно, кто и как тестирует Линукс в автоматическом режиме?

seiken ★★★★★
()

Очередная истерика Линуса это прям аж не мини-новость? Уж лучше бы очередную новость про Godot откуда-нибудь высосали.

zabbal ★★★★☆
()
Ответ на: комментарий от EAT_INSIDE

Насколько меньше было бы багов, если бы миллионы людей использовали плохой хелпер, предполагая как он работает, но не замечая тонкую поломку?

(foo + bar)/2 теперь тоже выносить в хелпер? Допустим, такой хелпер есть: avg. Возможно, это не совсем то, что надо, но это удобно. Потом кто-нибудь допишет avg(foo, bar, baz) и получит деление на три, хотя должно быть два.

Бюрократия — не серебренная пуля.

kaldeon
()
Ответ на: комментарий от seiken

как они будут продолжать разработку, когда не понятно, кто и как тестирует Линукс в автоматическом режиме?

Всю жизнь тестировали пользователи и никто не чувствовал угрызений совести =)

kaldeon
()
Ответ на: комментарий от EAT_INSIDE

Хороший код должен быть превосходным. Насколько было бы удобно читать моё сообщение, если бы под «превосходным» я имел ввиду «независимым от IDE» и это можно было бы увидеть только в особых браузерах? Звучит дико, но именно это происходит, когда с языком программирования невозможно работать без мощного туллинга.

При этом IDE невозможно всегда использовать. Иногда кусочками кода приходится делиться в сообщениях, иногда их приходится смотреть в истории гита, иногда кто-то их может упомянуть в документации. Да и вообще простую вещь можно запомнить, а сложная вещь летает в голове как «где-то там надо кликнуть».

kaldeon
()
Ответ на: комментарий от rukez

Вообще помощники и пишут один раз что бы не размышлять о том что «возможно, тут стоит виды привести»

Это абстрагирование. Но не нужно же пытаться из всего делать абстракции. Ты мог бы оперировать деталями, которые имеют смысл на данном уровне абстракции, а вместо этого оперируешь обрывками, которые называются примерно «сделать хорошо» и скрывают от тебя реализацию, из-за чего при рефакторинге у тебя больше шансов упустить что-то важное.

Даже в философии есть такое правило, хотя удивительно, что его сформировали только в 20 веке.

kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 2)
Ответ на: комментарий от seiken

в какое УГ, и как быстро превратится код Линукса, когда Линус уйдет на пенсию;

ИМХО ни в какое, заинтересованные корпораты быстро состряпают какой-нибудь комитет.

как они будут продолжать разработку, обсуждая её в копролите (емейлы)?

И это тоже выкинут в пользу какой-нибудь надстройки над гитом, где можно будет обсуждать конкретную проблему, рядом с конкретным кодом.

как они будут продолжать разработку, когда не понятно, кто и как тестирует Линукс в автоматическом режиме?

Учредят грант от пары жЫрных контор, выдадут его какому-нибудь MIT который озадачится тест-сюитами и железом для тестов.

Линукс никуда не денется.

bdrbt
()
Ответ на: комментарий от kaldeon

твоя правда - без иде сейчас хрен восприниматься

XXL
()

Типичный синьор архитектор %)

Nervous ★★★★★
()

Ему бы к психиатру/психологу походить. Ненормальная реакция (как всегда) на обычные вещи.

Friearch
()
Ответ на: комментарий от seiken

когда Линус в отпуске, все должны подстраивать под него свой график работы

Но с другой стороны, чел в отпуске и все равно разбирает чужой говнокод.

Вообще, я, как далекий от ядра человек, всегда думал, что до него доходит уже идеальный код, а весь треш отсекается мейнтейнерами соответствующих подсистем.

MoldAndLimeHoney ★★
()
Ответ на: комментарий от EAT_INSIDE

Вот как раз воля разнести по делу, а не материться ради матов, что как раз свойственно пятнадцатилетним школоло, это признак зрелого человека. Вам ясно написали, предупредили, вы проигнорировали… Распишитесь, получите. И нефиг обиженку строить.

Upd: поясню, я уже не раз сталкивался, что люди просто игнорируют информацию, доводимую нормальными словами. Только гаркнеш, сразу магия какая-то происходит.

hatred ★★★
()
Последнее исправление: hatred (всего исправлений: 1)

Шок! Сенсация! Линуса уже подвергли лоботомии за грубости? Куда смотрят комитеты по ромашкам и лютикам?

А вообще мне название какое-то косноязычное.

R_He_Po6oT ★★★★★
()

Судя по камментам в этом ITT-треде, не все поняли, что именно Линус обозвал говном, так что официально начинаем сишкосрач©™:

make_u32_from_two_u16(a,b) … you have not a f%^5ing clue what the word order is

Речь про endianness.

Кстати, как там с этим дела у rust’а?

LamerOk ★★★★★
()

Весь ваш линукс потихоньку превратился в 40млн строк мусора (это только ядро).

yvv1
()
Последнее исправление: yvv1 (всего исправлений: 1)
Ответ на: комментарий от Friearch

Ему бы к психологу походить.

Да, этих тоже дохрена развелось и с ними тоже излишне цацкаются.

thesis ★★★★★
()

Читаю буквально:

Линус Торвальдс … отверг изменения архитектуры RISC‑V для кода ядра Linux

Ну, человек не хочет менять архитектуру процессора из-за ядра. Где-то прав, он же не разработчик процессоров.

Или новость не об этом? Кто на ком стоял?

TI_Eugene ★★
()
Ответ на: комментарий от rukez

Очевидно что достаточно переименовать а и б в хай и лоу чтоб стало гарантированно понятно

Нет. Потому что ВНЕЗАПНО есть big endian и little endian

PPP328 ★★★★★
()
Ответ на: комментарий от LamerOk

Речь про endianness.

Сколько крови и времени отнимает эта хрень. Хорошо бы дропнуть поддержку BE в новых релизах Linux, ибо практически все рынки – Embedded, Automotive, Desktop, Data/Servers, Mobile – сидят на давным-давно на LE.

Причём органичного решения озвученной Линусом проблемы походу и не существует…

  1. (a << 16) + b – Менять по всему коду вместо одной функции/макроса?

  2. make_u32_from_two_u16(a,b) – какой порядок байт тут?

```c
make_u32_from_two_u16_be(a,b)
make_u32_from_two_u16_le(a,b)
``` -- боже...
```c
make_u32_from_two_u16(a,b) =>
#if BIG_ENDIAN
make_u32_from_two_u16_be(a,b)
#else
make_u32_from_two_u16_le(a,b)
#endif
``` -- буээ...
EXL ★★★★★
()
Ответ на: комментарий от thesis

Я специально для «не этих» предложил и психиатра. Вредно для сердца так остро реагировать на каждую мелочь.

Friearch
()

Почему снежинка Торвальдс зацензурил слово fucking?

moonmadness
()

со словами «no f%^5ing clue» и «Garbage»

Мощщно его АНБ на пятиминутке отдолбило!

будет для меня немного хаотичным

не только по США, но и по Финляндии

Получается, весь следующий релиз бедолагу будут долбить не только АНБшники, но и Еврокомиссары всех мастей! Не завидую, хехехе.

somemong
()
Ответ на: комментарий от Friearch

Ну давайте всех, кто в интернете посылает нас в жопу, отправлять к психиатру. Так мы сможем добиться того, что психиатры тоже пошлют нас в жопу.

Вредно для сердца так остро реагировать на каждую мелочь.

Во-первых, он не на каждую мелочь так реагирует. Во-вторых, для нас гораздо вреднее будет, если Линус обожрется колес и начнет реагировать тупо.

thesis ★★★★★
()

Линус может и прав, но вот ситуация, когда разработка самого используемого ядра на планете зависит от планов на отпуск одного человека, как по мне, полностью бредовая ситуация. Для ядра давно уже нужен какой-то набор людей для выполнения того, что сейчас делает Линус лично. А то ведь bus factor тоже никто не отменял. Да, я знаю что есть отдельные люди по подсистемам, но того кто бы мог подменить(полностью) самого Линуса, получается что и нет, раз он не может тупо забить на месяц и кому-то передать.

Loki13 ★★★★★
()
Ответ на: комментарий от EAT_INSIDE

И нет, никакие битовые-байтовые операции не должны использоваться из кода напрямую, без хелперов. Иначе любое глобальное изменение, требующее пересмотра таких действий, выливается в БОЛЬ и поиск всех похожих мест по коду. Помните, наверное, сколько лет длился переход на 64 бита, и сколько багов было в каждом проекте при переносе?

Зачем ты пишешь это, думаешь сишники тебя слушать будут? Они в построение расширяемых систем через абстракции не умеют: прибьются к конкретной реализации и в ху^W ус не дуют.

Торвальдс же показал себя прямо как эталонный пример такого сишника, хоть прямо щас в палату мер и весов :D

ttyr
()
Ответ на: комментарий от EXL

Причём органичного решения озвученной Линусом проблемы походу и не существует

Главная проблема - при чтении не понятно, в какую часть даблслова идёт a, а в какую - b. Хотеть можно оба варианта.

LamerOk ★★★★★
()

Линус отказался принимать мусорской патч и пожелал всем разработчикам фарта!

perl5_guy ★★★★★
()

не в первый раз вижу, как Торвальдс отыгрывается на всяких ноунеймах из второстепенных проектов, не смея сказать и слова уважаемым людям, которые суют ему КоКи с растами.

Какой же он стал жалкий.

Lrrr ★★★★★
()
Ответ на: комментарий от EAT_INSIDE

Особенно порадовало, что люди почему-то должны подстраиваться под его свадебное путешествие.

Это его проект?

И нет, никакие битовые-байтовые операции не должны использоваться из кода напрямую, без хелперов.

Это низкоуровневый код в драйвере операционной системы. Какие хелперы тебе нужны для складывания двух интов в один инт побольбше?

Иначе любое глобальное изменение, требующее пересмотра таких действий, выливается в БОЛЬ и поиск всех похожих мест по коду. Помните, наверное, сколько лет длился переход на 64 бита, и сколько багов было в каждом проекте при переносе?

В первую очередь боль с миграцией была в несовместимости рантаймов, обеспечении прозрачного мультилиба и легаси зависимости. Не видел много проектов где были бы проблемы типа «блин, у нас тут много 32бита-зависимой логики, нужно будет время тратить на миграцию». Единственное исключение - эмуляторы, но у этих свои собственные культурные заскоки.

Bfgeshka ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.