LINUX.ORG.RU

Начата подготовка к удалению старых сетевых драйверов из ядра

 , ,

Начата подготовка к удалению старых сетевых драйверов из ядра

0

1

Эндрю Ланн (Andrew Lunn) разослал серию патчей, чтобы начать удаление ряда сетевых драйверов эпохи ISA и PCMCIA из ядра Linux. Он подробно рассказывает о возникшей в последнее время нагрузке на обслуживание из-за искусственного интеллекта/фаззинга:

«До недавнего времени эти старые драйверы не требовали большого обслуживания. Теперь все больше новичков используют искусственный интеллект, а тестировщики с помощью fuzzing находят проблемы, что увеличивает нагрузку на разработчиков. Исправлять эти старые драйверы бессмысленно, если не ясно, есть ли у них пользователи.

Все это устройства ISA и PCMCIA Ethernet, в основном прошлого века, пара устройств 2001 или 2002 годов выпуска. Маловероятно, что они все еще используются. Однако удаляйте их по одному патчу за раз, чтобы их можно было восстановить, если у кого-то все еще есть оборудование, работают современные ядра и он хочет взять на себя обязанности сопровождающего драйверов».

Эта серия патчей удаляет старые драйверы 3com, AMD, SMSC, Cirrus, Fujitsu, Xircom и 8390 Ethernet, что в свою очередь, облегчает работу ядра на 27,6 тыс. строк кода.

>>> Новость с портала Phoronix

★★★★★

Проверено: maxcom ()
Последнее исправление: hobbit (всего исправлений: 4)
Ответ на: комментарий от Enthusiast

Похоже на то, что из-за увольнений программистов

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

На снимке изображена вполне современная сетевая карта с шиной «Пи-Си-Ай».

Ну это вопрос к ОП, может старую не нашел.

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

Видищь ли какая штука. Если флешка представилась как mass-storage, например, то тебе ее как монтировать-то из юзерспейса? Тебе придется руками реализовывать все протоколы.

Флешку я бы не стал так делать. Будут слишком неприятные задержки при работе с таким устройством. Но в принципе можно.

И хорошо еще, если usb-устройство умное и при подключении тебя еще спросит: «мне как представиться, как mass-storage или как аудиоинтерфейс?». А это реальный BR-80, например. Я уж не говорю про тяжелые случаи, когда гитарный усилитель представляется аудиоинтерфейсом и MIDI-устройством сразу.

Это всё ерунда. Выбор нужного интерфейса легко делается.

Ну удачи тебе реализовывать все протоколы работы руками через libusb.

Все не надо. Надо те, которые надо. А которые не надо - те не надо.

Но если ты намекаешь, что было бы неплохо переиспользовать код в ядре линукса, запустив второе ядро в юзерспейсе и дёргая его USB-драйверы через прокладку, то может быть это и интересная мысль, но я не знаю, насколько это реально. Так сходу мысль сисадминская - запустить виртуалку через qemu, в неё прокинуть нужное USB-устройство. А в виртуалке уже второе ядро, например, монтирует флешку внутрь. А мы её через 9p вытаскиваем на хост. Таким образом весь код, связанный с USB mass storage и файловой системой заработал в юзерспейсе, а хост видит примонтированную сетевую ФС. Но это, конечно, так, на уровне proof of concept решение, по-хорошему это всё надо делать более оптимально.

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 3)
Ответ на: комментарий от Shadow

Ви драйвера в linux никогда не писали/портировали? Хотя бы между версиями?

Нет, никогда не писал.

По идее, мэйнтейнер просто охренел и мог бы тупо поддерживать совместимость с API в режиме unsupported.

Не очень понятно, о чём речь. Я так понимаю, мейнтейнера у этого кода просто нет. Пока про этот код никто не вспоминал, то он там и лежал. А сейчас всплыли возможные уязвимости, с которыми надо разбираться и, возможно, фиксить, а делать это некому. Т.е. будет или код с возможными уязвимостями в ядре для древних устройств, или не будет кода с возможными уязвимостями в ядре. Решили, что второй вариант лучше. Но если у кого-то возникнет желание посопровождать - welcome.

Но это же GNU/Freedesktop, где принцип «stable api is a nonsense!»

Это принцип конкретно в потрохах линуксового ядра. На десктопе обычно публичное АПИ стараются не ломать. Хотя всякое бывает.

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

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

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

Дак, NE2000, вроде, пока оставляют. Там из 8390 выкидывают только 4 карты.

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

А если уже есть довольно удобная, хоть и весьма запутанная поддержка USB в существующем ядре, то нефига и огород городить.

Ну вот сегодня есть, а завтра не будет, как показывает эта тема. А так - что вне ядра, то будет уже под гарантиями stable API и не сломается никогда.

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

Вот именно, что оно надо где-то там где мелланокс и 40+ Гбит. А рядовому юзеру с интелом или рылтеком дела до того нет.

cobold ★★★★★
()

«Резиновые изделия №2» и «люди с пониженной социальной ответственностью» они…

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

ISA разъемы видел только на компах с 386/486/Pentium 1/Pentium Pro. Может быть Pentium 2, не помню. Но это все компы еще до 2000 года сделаны были точно. В 2004 точно на новых компах ISA разъема не было.

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

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

Зато как бы похудело ядро и как бы стало просто его поддерживать!

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

И правильно. Ещё пригодится. В крайнем случае, станет экспонатом музея.

Мне вот как-то обидно за старые устройства. Я хорошу помню, как аргумент о том, что линукс способен вдохнуть новую жизнь в старые устройства, использовался для увеличения его популярности. А теперь, видимо, достаточная популярность достигнута, и старые устройства можно просто повыбрасывать. Хотя мне непонятно, чем они так плохи — ну лежал бы код в ядре, никто ж не жаловался все эти годы, никто массово не взламывал системы с ISA-шными сетевыми картами. Кому нужно, использовали бы модули. Я вот сомневаюсь, учитывая, какую тьму устройств поддерживает нынче линукс, что все остальные драйвера удостаиваются должного внимания и ошибок не содержат, и только эти — нет.

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

Так что это таки прогресс, расхламление балкона.

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

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

Современные ядра ставить на компы тех времен вообще смысла нет. В те времена винтчестер 4 ГБ это был шик прям. А 256 МБ ОЗУ это было круто. Есть вероятность, что современный линукс тупо не залезет в такие лимиты.

На старое железо надо ставить старое ПО. Оно как раз для такого железа было написано.

С другой стороны, я сам страдаю от того, что ядро 6 не поддерживает проприетарный драйвер моей старой видеокарты nvidia. Nouveau почему-то не умеет работать с куллером видеокарты и включает его на полную мощность.

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

На старое железо надо ставить старое ПО. Оно как раз для такого железа было написано.

А потом раздаются вопли людей, которых внезапно взломали!

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

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

Дааа, это вечнозеленое «украл у бомжей ноутбук, накатил последнюю убунту, все летает: и xterm, и cowsay, зацените скриншот, понес обратно на помойку». Джвадцать с хреном лет наблюдаю, как это вдыхание жизни в стюардесс охрененно способствовало популярности люниксов.

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

ISA была как минимум до позднего 775 на G41 (2008 год релиза), это DDR3 и камни типа Core 2 Quad и e5450 коих и сечас хватает для веба.

gioz
()
Ответ на: комментарий от thesis

«И xcowsay, и xterm — чего тебе ещё надо, собака?»

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

В принципе, и сейчас этот аргумент бытует (яркий пример r/linuxmint), только планка «старины» была сильно поднята. Ноут 10 летней давности уже вроде как старый, хотя если по совести рассудить, никаких особых подвижек за эти десять лет не было, и все эти старички, если пластик не крошится и бэды не сыпятся, вполне могут работать дальше. Мой i510-15 же работает, и ничего. Это и близко не та разница в железе, что была с 1990 по 2000 или с 2000 по 2010; стагнация скорее.

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

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

Все эти «подкроватные зюзероутеры», да кому я рассказываю.

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

бро, а ты видел вообще 3C509?

Для тех времён это было критично, в ядре быть, пусть даже и всего 10Мб ещё поди и по коаксиалу.

я вот не помню, у 509 DMA было или I/O прямое было.

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

нет. там lpc уже по факту, для PS/2 и RTC. а разъёмы года с 2002 пропали.

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

в 2002 покупал новую плату с ISA. но новые модели почти все были без. а с 2004 PCIe пошло, там просто места не осталось для ISA.

на серверах ISA пропали году к 1997.

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

это не современная, а 20 летней давности, ~2001-2007. их уже давно в проде массово нигде нет.

у меня такая была в хозяйстве. т.н. «PILA» от интела. 82559 (FE) или похожий чип, судя по отсутствию отдельного MII на плате.

у меня лично из того поколения только 3C509C ещё осталось на всякий случай.

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

закрепление стереотипа «линукс = затобесплатная система для мусора».

Есть такое дело. Однако перспективы меняются. Прежде всего, потому что микрософт в мудрости своей взяли, и под соусом 11 винды провозгласили мусором большинство имеющейся у людей техники. И люди стали понимать, что тут что-то не то: корпорация советует им выкинуть отлично работающий компьютер чисто ради новой операционнки от них же. В этом разрезе и на вчерашний мусор можно критически посмотреть — может, мы и его несправедливо считали таковым?

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

исы не осталось реально в ходу. включая PCMCIA.

и тебе никто не мешает обратно пропачить. если очень надо.

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

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

NeTC ★★★★★
() автор топика
Ответ на: комментарий от Shadow

я backport делал для дров тулипа, не могли на свежее ядро перелезть, где Бекер уже запилил дрова для тулипа.

ещё hdlc из астериска пачил тоже под старое ядро.

то ещё удовольствие! :(
но ничего такого, если очень надо то можно

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

Возможно для каких-то индустриальных материнок с очень длинным сроком поддержки. На них долго лепили один дополнительный ISA.

Я в принципе согласен что это скорее всего с новым ядром почти не используется, но с другой стороны, аргументация тоже слабая. Их поддержка в модулях, система компилируется, то есть проблемы для основного ядра нет. Просто разработчики перестали справляться с большим объёмом кода. Но ведь это неизбежно при монолите. Рано или поздно он разрастётся до таких объёмов что поддержка станет невозможной.

Тут всю систему менять надо.

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

у 509 DMA было или I/O прямое было.

PIO

Зато туда можно припаять светодиодики и ими мигать 🔦

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

Точно на G41 делали с ISA? На картинках в гугле такой разъем для таких мат.плат не нашел. Википедия пишет, что последний чипсет для ISA сделали в 2001 году.

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

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

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

Тю, подумаешь. Лучше свистните мне, когда они станут требовать отдавать им своего первенца, вот это будет неожиданный и интригующий ход.

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

Вопрос риторический, но вся эта ситуация выглядела как откровенная жадность).

Не могу сказать про все дистрибутивные сабреддиты, но /r/linuxmint забурлил как никогда, и уже где-то год уровень активности от новых пользователей в разы выше, чем до. Пофиг ли на это микрософту — не знаю, но мне душу греет.

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

Те, кто реально это пользует, вряд ли заинтересуются седьмыми ядрами. На железе возрастом 20 лет современое ядро может и не взлетит.

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

Ну вот, остров-то прикрылся, а запасы-то надо ж как-то пополнять будет...

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

не в данной ситуации :) вяленный сейчас авангард разработки гуя :)
чтобы его дропнуть понадобится что-либо взамен его. а чет ничего нового умного нет.

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

isa шину не собираются дропать :) сколь помню потому что она никому не мешается в разработке.
в документашке https://docs.kernel.org/driver-api/isa.html на иса нет никаких плашек о удалении шины. хотя аппартных разъемов ИСА нет уже очень много лет

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

Что значит, «старые»?

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

...лысые обезьяны...

Ты глазом не успеешь моргнуть, как станешь лысой обезьяной.

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

Те, кто реально это пользует, вряд ли заинтересуются седьмыми ядрами. На железе возрастом 20 лет современое ядро может и не взлетит.

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

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

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

gns ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.