уменьшение трафика в сети

Igor Sysoev is at rambler-co.ru
Wed Mar 11 14:14:07 MSK 2009


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





More information about the nginx-ru mailing list