Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Re[2]: уменьшение траф ика в сети
On Wed, Mar 11, 2009 at 12:35:04PM +0300, Alexey V. Karagodov wrote:
> On 11.03.2009, at 12:00, Dmitry Morozovsky wrote:
>
> >On Tue, 10 Mar 2009, Михаил Монашёв wrote:
> >
> >??> Вдогонку...
> >??> Я где-то вчера читал, что если ядро собрано с поллингом, то всё
> >это не
> >??> работает. Это правда? Сейчас у меня так:
> >??>
> >??> options HZ=2000
> >??> options DEVICE_POLLING
> >
> >Это, если поллинг на интерфейсе explicitely не включён, нынче не
> >мешает. Хотя
> >лишний data path в ядре, конечно, присутствует ;)
> >
> >В современном состоянии для em polling не нужен совсем.
> это в смысле типа как-бы драйвер и сетевая сами оптимизируют процессы
> приёма/передачи?
Да. Современный em работает так:
1) получает прерывание, если прерывание от карты, то запрещает прерывания
карты и добавляет в очередь шедулера emX taskq.
2) через некоторое время запускается emX taskq, который обрабатывает до
dev.em.X.rx_processing_limit пакетов, после чего разрешает прерывания
от карты.
Называется это адаптивный polling - обработка делается не по таймеру, а
по факту прерыывания, но до упора.
--
Игорь Сысоев
http://sysoev.ru
|