небольшой оффтоп: device polling

Igor Sysoev is at rambler-co.ru
Wed Dec 26 10:52:52 MSK 2007


On Tue, Dec 18, 2007 at 06:05:29PM +0200, MZ wrote:

> Это точно патч для 6.2 ?

Это для 6.2-STABLE после марта 2007.

> У меня например в if_bge.c нет строчки
> 
> static int bge_allow_asf = 0;
> 
> А содержимое вот такое в этом месте:
> 
> static devclass_t bge_devclass;
> 
> DRIVER_MODULE(bge, pci, bge_driver, bge_devclass, 0, 0);
> DRIVER_MODULE(miibus, bge, miibus_driver, miibus_devclass, 0, 0);
> 
> static int bge_fake_autoneg = 0;
> TUNABLE_INT("hw.bge.fake_autoneg", &bge_fake_autoneg);
>   
> static uint32_t
> bge_readmem_ind(struct bge_softc *sc, int off)
> 
> В пт, 16/11/2007 в 17:26 +0300, Igor Sysoev пишет:
> > On Thu, Nov 15, 2007 at 09:28:45AM +0300, Igor Sysoev wrote:
> > 
> > > On Thu, Nov 15, 2007 at 09:25:02AM +0300, Igor Sysoev wrote:
> > > 
> > > > > >Ну там ещё есть запас - настроено на
> > > > > >*) прерывание после 64 rx пакетов или 128 tx пакетов.
> > > > > >*) или задержка прерывания на 150ms.
> > > > > >
> > > > > >  
> > > > > не нашёл никаких похожих настроек в man bge
> > > > 
> > > > Их там нет, только в исходниках. В аттаче патч с настройками.
> > > 
> > > Патч.
> > 
> > Новый патч для 6.2, который позволяет настраивать bge на загрузке:
> > 
> > /boot/loader.conf:
> > 
> > hw.bge.rxd=512
> > # прерывание через 500 микросекунд
> > hw.bge.rx_int_delay=500         
> > hw.bge.tx_int_delay=500
> > hw.bge.rx_coal_desc=64
> > hw.bge.tx_coal_desc=128
> > 
> > Такие настройки дают
> > 
> > systat -v 1
> > 
> >       1885 bge0 irq19
> > 
> > на
> > 
> >             input         (bge0)           output
> >    packets  errs      bytes    packets  errs      bytes colls
> >       8586     0    3513419       8696     0    4585120     0
> >       8944     0    3965891       9252     0    5165557     0
> > 
> > 
> > 
> > Ещё полезно в /etc/sysctl.conf добавить
> > 
> > net.isr.direct=1
> > 
> > 

-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list