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)

Грамотный аккуратный подход.

wandrien ★★★★
()

8390

Чувствую, опять на несколько лет будет цирк с дуплексами/полудуплексами/autoneg... Из NE2000 емнип 99% современного ethernet вышло.

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

Чтобы белки не путали с CardBus. PCMCIA это тоже ISA 16 шина.

steemandlinux ★★★★★
()

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

Конечно тут всё упирается в скорость обмена данными между ядром и юзерспейсом, а также в латентность. Скорость, думаю, не проблема, при буферах достаточного размера (ну копирований, полагаю, не избежать, что поделаешь). А вот латентность это уже будет неприятно. Но я почти уверен, что у всех этих древних устройств характеристики такие, что с этим проблем не возникнет на сегодняшних устройствах.

vbr ★★★★★
()

новость о намерениях :-) LOR уже не торт.

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

Не обязательно, в линуксе прямо сейчас можно так работать. И, например, устройство, которое я делаю, тоже так работает, я точно не собираюсь писать ядерный драйвер для того, что прекрасно работает через libusb (честно говоря я вообще через webusb работаю, но это не суть).

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

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

высокоскоростных сетевых адаптеров

DPDK тоже в userspace работает кстати и благодаря чему активно используются векторные инструкции в отличии от ядра, где они запрещены почти везде.

Тут просто нужны zerocopy интерфейсы.

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

Скорость, думаю, не проблема, при буферах достаточного размера (ну копирований, полагаю, не избежать, что поделаешь).

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

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

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

Ты тот USB-протокол хорошо видел? Втыкаешь логитеховский ресивер с клавой и мышью, так про сколько у тебя устройств UDEV сразу радостно рапортует?

gns ★★★★★
()

Удалите уже всё что нет у Линуса Торвальдса, и выложите конфигурацию, чтобы все такую же покупали.

unDEFER ★★★★★
()

Поняли, да? Вот вам плоды вашего треклятого ИИ! Не прошло и полгода, как говорится, как приличным людям отрезают дрова для ISAшных и PCMCIAных карт. А я ведь говорил, ничего хорошего от ИИ ждать не приходится, и как всегда был прав!

Smacker ★★★★★
()

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

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

Ты тот USB-протокол хорошо видел?

В рамках USB 2.0 и не погружаясь в конкретные классы - да, неплохо видел.

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

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

vbr ★★★★★
()

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

Знаете, вот 30 лет назад у меня член стоял, однако теперь все больше новичков используют искусственный интеллект, поэтому возникают проблемы.

LightDiver ★★★★★
()

Подготовка к удалению старых сетевых драйверов.

Похоже на то, что из-за увольнений программистов, тратящих много денег, всем остальным в США денег стало тоже не хватать. Американская экономика потихоньку сваливается в «штопор».

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

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

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

pfg ★★★★★
()

Давно пора было грохнуть это старьё.

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

Не, прям с веб-странички работаю с USB, так что драйвера, как такового, наверное и нет.

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

ИИ должен был уменьшить нагрузку на специалистов

Так он и уменьшил как раз - на 27,6к строк. И это только в этой новости.

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

К тому, что перенос обработки USB юзерспейс может оказаться сложнее: чем кажется. «Базовой функцональности» USB не существует. Если тебе какая-нибудь камера представляется еще и флешкой, то где тут «базовая функциональность»?

gns ★★★★★
()

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

sunjob ★★★★★
()

Вот это плохие новости! :-(

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

USB - довольно медленный, по сегодняшнему времени, протокол. Полгигабайта в секунду, полудуплекс. Это сейчас смешно. То, что выше, эти самые 10,20,40 гбит/с - это не USB, а thunderbolt (PCI-E).

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

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

Думаю, фотку ISA/PCMCIA не нашли. :-) Кстати, может даже валяется где в живую... Но не уверен, могли и выкинуть.

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

К тому, что перенос обработки USB юзерспейс может оказаться сложнее: чем кажется.

Сложно, но возможно.

«Базовой функцональности» USB не существует.

Конечно существует. Посмотри на libusb.

Если тебе какая-нибудь камера представляется еще и флешкой, то где тут «базовая функциональность»?

Базовая функциональность это примитивы, доступные на уровне USB. Дескрипторы, эндпоинты, вот это вот всё. На этом уровне и камера и флешка суть одно и то же - пишем в эндпоинт и читаем из эндпоинта. Различия уже идут на уровне протокола уровнем выше.

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

Думаю, фотку ISA/PCMCIA не нашли

Даже не пытались - на автора новости посмотри. Ляпнул первую попавшуюся картинку из поисковой выдачи и дальше побежал с ИИ воевать спустя рукава.

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

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

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

У меня тоже есть, но PCI-ная. 3C905C-TX-M. Отличная карта была, умела PXE и WOL, шла в комплекте со шнурком для подключения к материнке. я её до сих пор берегу — лежит в коробке с деталями.

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

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

Там столько нету. Хотя тебе-то какая разница если ты ни одной найти не можешь?

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

Ви драйвера в linux никогда не писали/портировали? Хотя бы между версиями? Я - да. По идее, мэйнтейнер просто охренел и мог бы тупо поддерживать совместимость с API в режиме unsupported. Но это же GNU/Freedesktop, где принцип «stable api is a nonsense!»

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

что увеличивает нагрузку на разработчиков.

А корень проблем в том что линуксоиды пытаются впихнуть все возможные драйвера в одну монорепу ядра и ноют что драйверов слишком много и их сложно поддерживать, из-за чего линукс пухнет от релиза к релизу пока рано или поздно лопнет. А out-of-tree драйвера в линуксе нежизнеспособны из-за stable api nonsense.

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

В смысле всем очень надо? Оно же говно. Ну то есть очень нишевое решение. Одна сетевая карта - одно приложение. А ядро как раз делает шаринг и планирование общих ресурсов. К тому же в ядре tcp/ip стек более менее mature. Что там навайбкодят в юзермоде поди угадай

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

Я даже не знаю, что Вам ответить. Видать, Вы не из мира, где poll оказывается эффективнее прерываний. Ну попадется на Вашем пути контроллеры от Мелланокса (которые теперь от NVidia), тогда, наверное, поймете, о чем я.

И да, нишевое решение. Но ниша очень большая.

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

У меня вот не валяется а воткнута в запущеный комп и успешно работает. NE2000, но в списке её вроде нет.

firkax ★★★★★
()

Эй, стой, стой! Горшочек, не вари! У меня вот ровно такая сетевушка, как на картинке!

Irremann ★★
()

С таким подходом надо дропнуть всё ядро, ибо там дыра на дыре, а патчить всем лень.

Byers
()
Ответ на: комментарий от Jenya_Ubermensch

ему уже давно... сразу после ядра 2.х ... печально!

sunjob ★★★★★
()

А кто-нибудь ещё использует ISA с актуальными ядрами?

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

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