Date: Sat, 28 Sep 2002 12:57:40 +0600
From: Igor Sysoev <is at rambler-co.ru>
Newsgroups: ftn.ru.unix.prog
Subject: Сущность механизма evice polling
> IS> > Мне не очень понятно, почему. Цена сисколла должна почти в точности
> IS> > равняться цене обработки прерывания, благо что действия при этом
> IS> > происходят почти одинаковые.
>
> IS> А почему ты решил, что прерывание дёшево ? Давай посмотрим, что нужно
> IS> сделать для int 80.
>
> Я не сказал, что прерывание совсем уже бесплатно. Hо цена его приемлима
> для частого использования.
Hу не знаю, у нас есть машина, которая всех считает, так вот там 7000
прерываний занимало около 30% процессора на P3-550:
http://groups.google.com/groups?threadm=ageb5l%24ie8%241%40park-mail.stack.net
Что такое поллинг и зачем его сделали описано здесь
http://info.iet.unipi.it/~luigi/polling/
вкратце же это выглядит так - на сетевой карте запрещают прерывания,
а вместо этого 1000 раз в секунду по таймеру опрашивают её на предмет
пакетов. В нашем случае за одно прерывание в среднем обслуживается около
6 пакетов, а может и больше, так как, скорее всего, fxp позволяет узнать,
не появились ли ещё данные, пока бы обрабатывали текущие прерывание.