Date: Tue, 02 Mar 2004 10:27:55 +0500
From: Valentin Nechayev <netch@segfault.kiev.ua.>
Newsgroups: ftn.ru.linux
Subject: "device polling" в Linux
SA>> Ты точно ничего не путаешь? Я про опрос сетевой карты не по
SA>> прерываниям, а по таймеру.
AS> А... Тогда врядли такое чудо можно найти, если только ISA какоенить.
Ась? Во freebsd работает на самых продвинутых карточках (а для ISA
не делают, ибо оно им не поможет)
AS> И то не знаю. А зачем такой изврат?
Затем, что вход в прерывание и выход из него - операции достаточно длительные,
могут быть существенно длиннее, чем приём пакета на нормальной сетевухе
(который сводится к учёту принятого в сетевых буферах и записью в порт
сетевухи, а пакет в память уже давно влит посредством bus mastering).
Группируя обработку прерываний, получаем существенную экономию времени
процессора.
Разумеется, всё это было бы ненужно, если бы сетевухи были умнее - позволяли
конфигурировать себя хотя бы по принципу "даёшь прерывание через X
микросекунд, если есть хоть один пакет, или через Y, если пришло N пакетов",
но пока этого нет - поллинг очень полезен.
From: Nick Gazaloff <nick@sbin.org.>
>>> Кто-нибудь в куресе, как у linux обстоят дела в отношении
>>> ethernet-карт? Если "обстоят", то какие карты умеют?
>
> AS> Все которые обстоят в твоем ядре или обстоят в виде отдельных
> AS> модулей на cd.
>
> Ты точно ничего не путаешь? Я про опрос сетевой карты не по прерываниям,
> а по таймеру.
NAPI. В ванильных ядрах могуд драйверы tg3 и сейчас, по-моему, 8139cp.
Есть патчи для 3COM и e100 (или e1000, точно не помню).
From: Nick Gazaloff <nick@sbin.org.>
>> NAPI. В ванильных ядрах могуд драйверы tg3 и сейчас, по-моему,
>> 8139cp. Есть патчи для 3COM и e100 (или e1000, точно не помню).
> и как оно тут зовется?