Комментарии 38
Он сказал, что больше не будет «показывать пальцем на какую-то компанию. Я усвоил урок»
И начал показывать пальцем на целые народы, это ведь в урок не входило.
В 2018 пообещял не тыкать в конкретные компании пальцем. В 2024 тыкнул в Intel и AMD... Не на долго же его хватило...
Судя по статье, он ткнул в RedHat, сотрудник которых решил пару лет назад отметиться в истории классификацией amd64 камней по каким-то уровням, вместо нормального общепринятого.
Т.е. Тролльвальдс сказал, что вода жидкость, давайте все обсуждать.
Пусть больше не тыкает - пока тыкал, альтернатива risk-v несколько раз уже провалилась. Да и свою он лучше не придумают. Пока будут думать - AMD и Intel всё равно их опередят - усовершенствуються! 🚀
Зависит от "урока". Может это был тренинг по русофобскому мышлению. Его просто "переключили" с персоналий на нацию.
А мне нравится Торвальдс. Он по крайней мере говорит, что думает.
В то время как политики, которые думают то же самое, на словах гуманисты, демократы и защитники мира. Он честный му@#$к, а это лучше, чем му@!#ки лицемерные.
В плане честности -- да. Но, как по мне, этого не может быть достаточно, чтобы нравиться.
Нравится то может он и не нравится, но он более понятный в своем мышлении, с ним проще взаимодействовать, если что-то надо.
И даже если он пошлет на три буквы, то хотя бы прямо и быстро, а не будет тянуть резину.
Конечно недостаточно, помимо того, что он честный му@!#к, он еще шарит за команды процессоров, что выгодно его отличает от множества других честных му@!#ков
Он плюет строго в тот колодец куда можно. В тех вопросах куда чревато лезть со своим мнением он солидарен с "курсом партии".
I strongly suspect I am one of those “woke communists” you worry about.
https://www.reddit.com/r/unixsocks/comments/143x72v/linus_torvalds_says_trans_rights/
Он честный му@#$к, а это лучше, чем му@!#ки лицемерные.
Звучит как: «А говно-то с орехами!» ©
Потрясающе безмозглый перевод и высосанный из него заголовок. Автору желаю упасть и удариться чем-нибудь.
Мой краткий вывод из статьи - "Если выполнение функции предполагается в разнородной среде, то чтобы определить ее совместимость - прощупывай функционал компонентов среды, а не название технологии". Если твоя функция использует специфические инструкции процессора, то просто проверь, что эти инструкции есть, и используй эту функцию. Если нет, то используй полифил функции. Не пытайся понять, к какому номеру поколению или модели относится процессор.
Я хоть не разрабатываю функции, работающие на уровне ядра, но прекрасно пользуюсь данным тезисом в веб-разработке.
Например, если мне надо, чтобы JS функция работала с методами тачскрина, то я не проверяю по юзер-агенту, что устройство относится к мобильной ОС, а проверяю наличие тач событий. Названия ОС приходят и уходят, а концепция событий не меняется десятилетия.
Скорее не "полифил" функции, а fallback-реализацию /zanuda_mode=off
Но, до того, как мы в вебе пришли к feature detection, активно использовалось agent detection, и считалось вполне себе нормальным, и только спустя годы, боль и страдания, стало ясно что это порочный путь.
Я к тому, что это понимание не является чем то интуитивным, этот путь сначала надо было пройти.
И их логика мне тоже понятна, они привыкли работать со спецификациями, где каждая последующая лишь расширяет предыдущую, но сейчас всё это сломали и им тоже придется прийти к feature detection.
О да, самый праздник был, когда появился IE (кажется, он) 10 версии, а какой-то популярный скрипт для agent detection работал по одной цифре и стал страшно ругаться на устаревший браузер
К слову, в Firefox юзерагент был заморожен со 109 версии по 120. Потому что нашлись реальные сайты, которые парсили лишь первые две цифры и, видя "110", считали, что имеют дело с IE 11
Строго говоря, такую "подмену" можно делать даже на ходу: соответствующее прерывание было ещё в i8086, насколько я помню. Хотя это не про оптимизацию ядра, конечно, а про обеспечение работоспособности пользовательского ПО на процессорах, не поддерживающих отдельные инструкции. Это обсуждалось в теме про ограничения Windows 11. Правда, такая подмена может помешать программе самостоятельно определить наличие или отсутствие команды и задействовать соответствующую библиотеку, что грустно, поскольку обработка прерывания - дело долгое, куда дольше, чем выполнение кусочка кода, заранее вставленного в нужное место.
Возможно что я ошибаюсь. Но уж больно обсуждаемые уровни архитектуры похожи на QEMU CPU Types. И если их отменят, то как будут Junior DevOps настраивать процессор VM в том же Proxmox?
Выставлять всю таблицу процессорных флагов руками, тяжеловато даже в плане контроля за выполнением такой работы.
С другой стороны, все течет, все меняется. Изучим, привыкнем и к этому.
Нельзя отменить то, что не успели ввести. Судя по частичной цитате кто-то попытался впихнуть в ядро линукса новый код с введением обсуждаемых уровней архитектуры x86_64. Линус высказал аргументированное мнение, что такого в ядро тащить точно не надо.
Там это как раз может работать, а вот в случае с реальными процессорами, там же нет никакой логики в поддержке процессором тех или иных инструкций, может выйти более новый процессор, но без какого-нибудь avx512, а остальное у него будет. И в какой уровень микроархитектуры его определять?
Вот в riscv, так и вообще может быть совсем разный уровень микроархитектуры и поддержки дополнительных команд, но там это пишут в самом названии микроархитектуры, там есть какой-то более мне официальный процесс, но в x86 такого ведь нет.
В 86 архитектуре костыли и подпорки тщательно складируются с 4004 процессора.
Когда от чего-либо отказываются - возникают серьёзные проблемы у различных оптимизаций.
Оттуда идут все наслоения.
Как бывало в фидо выражение, да и целом так до 2000-х годов - современная WIntel - это 64-битное расширение (amd64/WindowsXP64+) 32-битный патч (80386/WindowsNT+) 16-битной графической оболочки (8086/Win1.0 до WinMe включительно), разработанной для 8-битной операционной системы (8008/CP/M->MSDOS), написанного для 4-х битного калькулятора (4004).
И если их отменят, то как будут Junior DevOps настраивать процессор VM в том же Proxmox?
Там разве нет выбора типа "Skylake" или "Zen 1", и все флаги сами проставляются?
И если их отменят
Их не отменят. Их просто не будет в ядре. Их сейчас в ядре нет и дальше их тоже не будет. Т.е. ничего не изменится.
то как будут Junior DevOps настраивать процессор VM в том же Proxmox?
Точно так же как они это делают сейчас.
Линус не предлагает отменить эту штуку вообще. Он просто хочет чтобы ядро и дальше использовало меньшую гранулярность, которую дает подсистема CPUID.
проблемы индейцев QEMU и Proxmox шерифа Торвальдса не волнуют. Его область интереса - ядро
Не вижу проблемы завести пресеты для настройки qemu, если это зачем-то нужно. Из номера в набор флагов перейти всяко проще, чем наоборот.
красивое
that mind-fart into
превратилось в
этот бред в
Линус, конечно, резкий, как понятно что, но тут он очевидно прав: раз есть понятные биты – не надо вместо них номер ревизии использовать.
Торвальдс: уровни функций архитектуры AMD64 и x86-64 — это «полностью сломанный мусор», который «должен умереть»