Дэрик Вонг (Darrick Wong) объявил о снятии с себя полномочий сопровождающего файловую систему XFS в ядре Linux. По его словам он взял на себя непосильную ношу и выгорел, пытаясь совместить роль разработчика, рецензировщика, тестировщика, релиз-менеджера и контактного лица. Отмечается, что в подсистеме XFS хватает работы для 20 человек, но фактически ту же работу приходится выполнять вдвое меньшей командой.
При текущей организации работы людям, развивающим XFS, приходится тратить большую часть своего времени на бэкпортирование специфичных для дистрибутивов изменений и разбор автоматически сгенерированных отчётов об ошибках. Рецензирование описывается как кошмар, вызванный необходимостью разбирать недостаточно документированный код ядра, пытаясь понять, не поломает ли что-то предложенная новая возможность.
После ухода с поста сопровождающего Дэрик намерен продолжить работу над рецензированием патчей и заняться развитием интересующих его возможностей XFS, таких как online fsck. Перед уходом Дэрик обобщил свой шестилетний опыт сопровождающего и подготовил рекомендации по оптимизации работы. Например, предлагается разделить полномочия сопровождающего, и передать отдельным людям ответственность за решение таких задач, как подготовка релизов, разбор ошибок, тестирование, взаимодействие с сообществом и сопровождение изменений для LTS-веток. В качестве замены для себя Дэрик рекомендовал утвердить отвечающим за подготовку релизов Кандана Баду (Chandan Babu) из компании Oracle.

У венды стабильное API и даже ABI, и стрононние драйвера там работают по десятку лет, а прикладной софт по 3 десятка. Без шуток, у меня есть прога 95-го года, которой нет аналогов, и я её пускаю нативно на 11-ой венде.
И никто там не патчит NTFS под дистрибутивы)
API и ABI может быть между разными компонентами. сорри, мне слишком скучно обсуждать тех.детали. я начинаю зевать и впадаю в прострацию прямо за клавой.
Может, и даже есть, и в линуксе всё очень плохо всегда в этом плане.
Я тож зевнул и уебался подушку давить. Спокойной
как все просто у тебя…
CoW в NTFS привезли?
А настройки дупликации данных и метаданных?
Включение сквозной компрессии к потере 50% производительности компьютера больше не приводит?
Потому, что их пишут под Винду.
А драйвера под линукс пишут под линукс, это вроде логично. У товарища какой-то амуде типа атлон 2 и мать с чипсетом nvidia, этому говну 15 лет минимум, если не все 20. И последняя десятка, и вероятно, одиннадцатая (не проверял), на этой доисторической говновстройке в MCP работают корректно с полной поддержкой аппаратного ускорения, драйвера ставятся и работают.
В линуксе, если драйвер прекратят поддерживать, он отвалится через несколько месяцевза счёт торвальдского stable ABI is nonsense
Ну так-то на это болезненное решение есть объективные технические причины, главная из которых - куча поддерживаемых аппаратных платформ со своими нетакусиковыми размерами стандартных типов данных.
Я не уверен что это как-то влияет, и ради их поддержки нет нужды каждые пару месяцев что-то ломать, тем более что ABI для каждой платформы своё, да и их осталось-то 3 штуки, x86, arm и mips
Это написано, чтобы попытаться объяснить, почему Linux ** не имеет двоичного интерфейс ядра, и при этом он не имеет стабильного интерфейса ядра**. .. примечание:: Обратите внимание, что эта статья описывает интерфейсы **в ядре**, а не ядро к интерфейсам пользовательского пространства. Интерфейс ядра к пользовательскому пространству — это тот, который используют прикладные программы, интерфейс системного вызова. Этот интерфейс **очень** стабилен с течением времени, и не сломается. У меня есть старые программы, которые были построены на чем-то до 0.9. ядра, которые по-прежнему прекрасно работают с последней версией ядра 2.6. Этот интерфейс — тот, на который могут рассчитывать пользователи и разработчики приложений. на стабильность. ... Бинарный интерфейс ядра ----------------------- Предполагая, что у нас есть стабильный исходный интерфейс ядра для ядра, двоичный интерфейс, естественно, тоже произойдет, верно? Неправильный. Пожалуйста рассмотрим следующие факты о ядре Linux: - В зависимости от версии используемого вами компилятора C, разные ядра структуры данных будут содержать различное выравнивание структур, и возможно включать разные функции по-разному (помещая встроенные функции или нет.) Индивидуальная организация функций не так важно, но другое заполнение структуры данных очень важно. - В зависимости от того, какие варианты сборки ядра вы выберете, ядро может принимать разные вещи: - разные структуры могут содержать разные поля - Некоторые функции могут быть вообще не реализованы (т.е. некоторые блокировки компилируется в ничто для не-SMP-сборок.) - Память внутри ядра можно выравнивать по-разному, в зависимости от вариантов сборки. - Linux работает на самых разных процессорных архитектурах. Невозможно, чтобы бинарные драйверы из одной архитектуры работали на другой архитектуре правильно. Теперь ряд этих проблем можно решить, просто скомпилировав модуль для точной конкретной конфигурации ядра, используя точно такой же Компилятор C, с помощью которого было собрано ядро. Этого достаточно, если вы хотите предоставить модуль для конкретной версии выпуска определенного дистрибутив линукс. Но умножьте эту единственную сборку на количество различные дистрибутивы Linux и количество различных поддерживаемых релизы дистрибутива Linux, и вам быстро снится кошмар разные варианты сборки на разных релизах. Также осознайте, что каждый Выпуск дистрибутива Linux содержит несколько различных ядер, все настроены на разные типы оборудования (разные типы процессоров и разные варианты), так что даже для одного релиза вам нужно будет создать несколько версий вашего модуля. Поверьте, вы со временем сойдете с ума, если будете пытаться поддерживать такого рода выпуска, я узнал это на собственном горьком опыте давным-давно... Стабильные исходные интерфейсы ядра ------------------------------- Это гораздо более «изменчивая» тема, если вы разговариваете с людьми, которые пытаются сохранить драйвер ядра Linux, которого нет в основном дереве ядра, до дата со временем. Разработка ядра Linux ведется непрерывно и в быстром темпе, никогда останавливаясь, чтобы замедлиться. Таким образом, разработчики ядра находят ошибки в текущие интерфейсы или найти лучший способ сделать что-то. Если они это сделают затем они исправляют текущие интерфейсы, чтобы они работали лучше. Когда они делают поэтому имена функций могут меняться, структуры могут увеличиваться или уменьшаться, и параметры функции могут быть переработаны. Если это произойдет, все случаи использования этого интерфейса в ядре исправлены в то же время, гарантируя, что все продолжает работать должным образом. В качестве конкретных примеров этого можно привести встроенные в ядро USB-интерфейсы. претерпел не менее трех различных переделок за время существования этого подсистема. Эти переделки были сделаны для решения ряда различных проблемы: - Переход от синхронной модели потоков данных к асинхронной один. Это уменьшило сложность ряда драйверов и увеличили пропускную способность всех USB-драйверов, так что теперь мы почти все USB-устройства работают на максимально возможной скорости. - Внесено изменение в способ распределения пакетов данных из USB-ядро с помощью USB-драйверов, так что теперь все драйверы, необходимые для обеспечения больше информации к ядру USB, чтобы исправить ряд задокументированных тупики. Это резко контрастирует с рядом операционных систем с закрытым исходным кодом. которым со временем пришлось поддерживать свои старые USB-интерфейсы. Этот предоставляет возможность новым разработчикам случайно использовать старый интерфейсы и делать что-то неправильным образом, что приводит к нестабильности операционная система страдает. В обоих этих случаях все разработчики согласились, что это важные изменения, которые необходимо было сделать, и они были сделаны, с относительно небольшая боль. Если бы Linux нужно было гарантировать, что он сохранит стабильный исходный интерфейс, новый интерфейс был бы создан, и более старый, сломанный, пришлось бы обслуживать с течением времени, что привело к дополнительной работе для разработчиков USB. Поскольку все разработчики Linux USB делают свою работу в свободное время, прося программистов делать дополнительную работу бесплатно получить, бесплатно, не представляется возможным. Вопросы безопасности также очень важны для Linux. Когда проблема с безопасностью найдена, она устранена за очень короткое время. А несколько раз это приводило к тому, что внутренние интерфейсы ядра переработано, чтобы предотвратить возникновение проблемы безопасности. Когда это случается так, что все драйверы, использующие интерфейсы, также были исправлены в в то же время, гарантируя, что проблема безопасности была устранена и не могла случайно вернуться в будущем. Если внутренние интерфейсы не разрешалось изменять, исправляя такого рода проблемы с безопасностью и гарантировать, что это не повторится, невозможно. Интерфейсы ядра очищаются с течением времени. Если никто не пользуется текущий интерфейс, он удален. Это гарантирует, что ядро останется как можно меньше, и что все потенциальные интерфейсы тестируются как насколько это возможно (неиспользуемые интерфейсы почти невозможно тест на достоверность)Канпсольные если только, GUI с тех пор поломали раз 20, хотя это, конечно, не к ядру вопросы
Этого и не требуется. Они и на основной x86 не работают
Зато работает
Дальше простыню машинного перевода разбирать лень, сорян, для одной архитектуры стабильный API поддерживать нет никаких проблем, прям вообще. ABI, при желании, тоже можно, просто всем похуй, и нагрузка ложится на разработчиков драйверов, а те тем более хуй забьют. В итоге маемо, що маемо
Для одной архитектуры, одного компилятора и одной конфигурации ядра - да. Но это не про Линукс.
Ну да, давай для упрощения поговорим про х86, при чём там PowerPC
Так это поделие ничем кроме gcc и не собирается, в отличие от той же @crypt’овской фрибзди
На интерфейсы влиять не должно
Но так да, выходит Ein Arch, ein Kompiler, ein Konf)
Очень интересно. Но железо такой старости отлично и на Линуксе работает. И с открытыми дровами…
Не знаю, но у меня на одной из машин старое железо (да, я нищеброд), но все с открытыми дровами работает нормально. Посмотрим, что будет дальше…
Я не верю, что взлетит.