Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

value of /proc/sys/net/core/netdev_max_backlog and packet drops

114 views
Skip to first unread message

kudos

unread,
Feb 4, 2003, 3:55:40 PM2/4/03
to
I have tested a performance of Dell 2650, two zeon processores with
the e1000 network driver. I used linux kernel, 2.4.19smp.

The test setup is as follows. I set the e1000 card in the promiscuous
mode and had SmartBits generate network traffic with speed varing from
100Mbps to 1Gbps. And I also created a program and run in 2650 to
count the number of packets received at 2650. The program count the
number of packets at the three difference levels: 1) driver level
(counted in /proc/net/dev), 2) backlog level (counded in
/proc/net/softnet_stat), and 3) user-space level (counting in Socket).

Without proper tuning of e1000, 2650 started to drop packets at the
speed arount 300Mbps. After tuning the driver of e1000 at
/etc/modules.conf we could achieve zero packet drop counted in the
driver level. But a lot of packet dropes were occurred at the backlog
level.

Then, I studied the protocol stack and found I can increase the size
of the backlog queue by increaseing
/proc/sys/net/core/netdev_max_backlog. The default was 300 and I
increased this value to 30000.

After the increment there were no packet drops at the backlog level
but the packets were dropped at the driver level.

This is a part that I do not understand. Why increasing the value of
/proc/sys/net/core/netdev_max_backlog resutled in the drop in the
driver.

The other question is about the MAC flow control. When the driver
started dropping packets after increasing the value of
/proc/sys/net/core/netdev_max_backlog 2650 sent a lot of MAC flow
control packets. What initiated the NIC card to generate the
flow-control packet and what situations are they generated?

Thank you in advance.

0 new messages