Re: NAPI, rx_no_buffer_count, e1000, r8169 and other actors

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Denys Fedoryshchenko
Date: Sunday, June 15, 2008 - 9:05 pm

On Sun, 15 Jun 2008 19:59:18 -0700, Stephen Hemminger wrote

Probably it is valid for weak CPU's, or in my case really a lot of traffic.

packetloss
What is

I tried to increase net.core.netdev_max_backlog, it doesn't help, and it
doesn't change anything at all.
But it looks like: if i have 200Mbps RX, with average packet 500 bytes, i have
50Kpps rate. RX descriptor is 256 packets, each 1ms passed 50 packets. If poll
just more than late then 5ms, i miss packets. Or if it doesn't complete all
packets in one softirq cycle.
Probably i understand something (or everything) wrong.

But firewalling must be not a big deal, since i am not using anything "heavy"
like L7 filtering. But i will try to optimize rules, like i did once with u32
hash... so most of packets will not pass "long chain". And, there is around 29
rules on filter, 63 in NAT, 20 in mangle, it's not much i guess.

Thats very good idea. 
e1000 / AMD - cache size      : 1024 KB
and both Core 2 Duo routers - 4096 KB (shared?)


Probably mpstat gives correct results? I never use top, other that to find
clear CPU hog userspace app.

Router-Dora ~ # mpstat 1
Linux 2.6.26-rc6-git2-build-0029 (Router-Dora)  06/16/08

06:31:19     CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal  
%idle    intr/s
06:31:20     all    0.00    0.00    0.00    0.00    1.51    8.04    0.00  
90.45  13570.30
06:31:21     all    0.00    0.00    0.00    0.00    2.49    9.95    0.00  
87.56  13986.00
06:31:22     all    0.00    0.00    0.50    0.00    2.49    9.45    0.00  
87.56  14364.00



I tried to change tx queue length. If i make it too much small, it will just
drop packets _silently_. Will not be shown on netstat -s, nor ifconfig stats.
That what i reported before.

conntrack, same
plenty

I think in this case r8169 is routed over PCI-PCIExpress bridge, other card is
PCIExpress, nothing else on PCI, other than IDE controller which not used at
all). Yes, it is bad, but still must be 133 Mbyte/s (1064 Mbit/s). Yes i know
there is overhead, but probably i can expect 500-800 Mbps total bandwidth limit?

Well, realtek 8169 doesn't support changing ring, and doesn't support changing
coalesce parameters. By the way e1000 also doesn't support -C, but e1000e
does. Is it new way of forcing people to buy newer adapters? :-)

Yes, but in my case Core 2 do heavier job much better, probably because of
larger cache or some voodoo magic.

The biggest issue, in this country it is not possible to find PCI-Express
network adapter. Even Realtek 8169. It is just impossible, that WHOLE country
have very limited stock of PCI-Express adapters, just few PCI-Express R8169
month ago was laying on the shelf of local Apple dealer, and i remember too
late about them.

--
Denys Fedoryshchenko
Technical Manager
Virtual ISP S.A.L.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
NAPI, rx_no_buffer_count, e1000, r8169 and other actors, Denys Fedoryshchenko, (Sun Jun 15, 1:24 pm)
Re: NAPI, rx_no_buffer_count, e1000, r8169 and other actors, Francois Romieu, (Sun Jun 15, 1:57 pm)
Re: NAPI, rx_no_buffer_count, e1000, r8169 and other actors, Denys Fedoryshchenko, (Sun Jun 15, 2:32 pm)
Re: NAPI, rx_no_buffer_count, e1000, r8169 and other actors, Denys Fedoryshchenko, (Sun Jun 15, 2:32 pm)
Re: NAPI, rx_no_buffer_count, e1000, r8169 and other actors, Stephen Hemminger, (Sun Jun 15, 7:59 pm)
Re: NAPI, rx_no_buffer_count, e1000, r8169 and other actors, Denys Fedoryshchenko, (Sun Jun 15, 9:05 pm)