throughput and interrupts

Julian Elischer julian at
Wed Aug 16 04:32:44 UTC 2006

Send me the following in private email:
ipfw config
natd config
an ascii-art picture of your network would be good
ifconfig and netstat -r  output..

I will see if there is something in your config that is inefficient.

also, you could try profiling natd...

Bachilo Dmitry wrote:

>В сообщении от Вторник 15 августа 2006 23:45 Tofik Suleymanov написал(a):
>>Bachilo Dmitry wrote:
>>>I am completely stuck. I have a router, that rules three subnets. At
>>>first there were Allied Telesyn's netcards with realtek chipsets. I am
>>>using ipfw+natd and I had like 3,5 megabytes per second with 20 per cent
>>>of interrupt load. I had "discarded oversized frame" too often so I've
>>>replaced two main cards with 3Com 905 and now my xl0 and xl1 never
>>>discard frames. But I saw no speed boost and interrupts were also very
>>>high. I have discovered some IRQ conflicts and removed them, now I have
>>>single device per IRQ, but still i have near 20-30 % of interrupt load,
>>>when i download something through this router (and natd takes rest % of
>>>CPU). Some people advised me to use polling, so I've built kernel with
>>>HZ=1000, polling and tried it. Interrupts grew to 40-50% and speed
>>>decreased to 200-300 kb/s, so I had to turn the polling off.
>>>I just don't know what to try, to gain at least 9 mb/s, because this is
>>>what I get at home with the same cards, the same processor, with no
>>>polling and throgh the same provider.
>>>Best regards,
>>>Bachilo Dmitry
>>Could you please try natd+kqueue patch from
>>  and report results (difference it
>>made etc etc) ?
>>I did not have any chance to test it in heavy load environment.yet.
>>Thank you,
>>Tofig Suleymanov
>patch applied successfully, but the same throughput and the same picture in 
>top -S:
>CPU states:  3.5% user,  0.0% nice, 68.4% system, 28.1% interrupt,  0.0% idle
>Mem: 127M Active, 670M Inact, 137M Wired, 48M Cache, 111M Buf, 15M Free
>Swap: 64M Total, 272K Used, 64M Free
>87524 root     111    0  1300K   828K RUN      0:16 31.96% 31.69% natd
>   11 root     171   52     0K     8K RUN    422.8H 10.94% 10.94% idle
>   37 root     -44 -163     0K     8K WAIT    99:14  6.88%  6.88% swi1: net
>   30 root     -68 -187     0K     8K WAIT    40:42  5.27%  5.27% irq20: xl1
>   29 root     -68 -187     0K     8K RUN     59:14  4.00%  4.00% irq19: xl0
>   35 root     -28 -147     0K     8K WAIT   141:06  0.05%  0.05% swi5: clock 

More information about the freebsd-current mailing list