Hi All,
We are running the igb driver in 2.6 kernel (running in polling mode
and PBA is 34K) for the Nic Card "Intel Corporation 82575EB Gigabit
Network Ethernet controller (-rev 02).".But we are seeing some problem
in increasing "rx_no_buffer_count (RNBC)" and "rx_missed_errors (MPC)"
values when we send UDP traffic with 200k to 300k PPS and packet size is
256 or 512. We are seeing high numbers in rx_missed_errors and very
small numbers in rx_no_buffer_count.
But we are not facing
such problem when we run the same driver in Linux 2.4 for the Nic Card
"Intel Corporation 82575EB Gigabit Network Ethernet controller (-rev
02)".
Here is the ethtool dump for particular interface during test: (Driver:
igb and Kernel 2.6)
ethtool -S eth8
NIC statistics:
rx_packets: 23352919184
tx_packets: 0
rx_bytes: 5978344567552
tx_bytes: 0
rx_broadcast: 0
tx_broadcast: 0
rx_multicast: 0
tx_multicast: 0
rx_errors: 0
tx_errors: 0
tx_dropped: 0
multicast: 0
collisions: 0
rx_length_errors: 0
rx_over_errors: 0
rx_crc_errors: 0
rx_frame_errors: 0
rx_no_buffer_count: 975831
rx_missed_errors: 3019559561
tx_aborted_errors: 0
tx_carrier_errors: 0
tx_fifo_errors: 0
tx_heartbeat_errors: 0
tx_window_errors: 0
tx_abort_late_coll: 0
tx_deferred_ok: 0
tx_single_coll_ok: 0
tx_multi_coll_ok: 0
tx_timeout_count: 0
tx_restart_queue: 0
rx_long_length_errors: 0
rx_short_length_errors: 0
rx_align_errors: 0
tx_tcp_seg_good: 0
tx_tcp_seg_failed: 0
rx_flow_control_xon: 0
rx_flow_control_xoff: 0
tx_flow_control_xon: 0
tx_flow_control_xoff: 0
rx_long_byte_count: 5978344567552
rx_csum_offload_good: 23352918900
rx_csum_offload_errors: 0
rx_header_split: 0
alloc_rx_buff_failed: 0
tx_smbus: 0
rx_smbus: 0
dropped_smbus: 0
I am also attaching the register dump value for particular interface:
1. " RegisterDumpForIgbDriverOfKernel2.6.txt " : Which provides
register dump value for the particular interface in the igb driver (
we are facing problem in
this driver , which is running in polling mode) --- Here Linux kernel
is 2.6 .24
2. "RegisterDumpForIgbDriverOfKernel2.4.txt" : Which provides register
dump values for the particular interface in the IGB driver (Working fine
and running in NAPI mode ) - --Here the Linux Kernel is 2.4 ,this is
for reference
We are seeing some difference in register value on both Register
dump. I have listed some register names where we see different values in
both Register dump
#define E1000_CTRL 0x00000 /* Device Control - RW */
#define E1000_CTRL_DUP 0x00004 /* Device Control Duplicate (Shadow) -
RW */
#define E1000_STATUS 0x00008 /* Device Status - RO */
#define E1000_EECD 0x00010 /* EEPROM/Flash Control - RW */
#define E1000_MDIC 0x00020 /* MDI Control - RW */
#define E1000_FEXTNVM 0x00028 and #define E1000_FCAL 0x00028 /* Flow
Control Address Low - RW */ and /* Future Extended NVM - RW */
#define E1000_CONNSW 0x00034 /* Copper/Fiber switch control - RW */
#define E1000_ITR 0x000C4 /* Interrupt Throttling Rate - RW */
#define E1000_TCTL_EXT 0x00404 /* Extended TX Control - RW */
#define E1000_TIPG 0x00410 /* TX Inter-packet gap -RW */
#define E1000_TBT 0x00448 /* TX Burst Timer - RW */
#define E1000_AIT 0x00458 /* Adaptive Interframe Spacing Throttle
- RW */
Actually we wanted to know which of these registers can act as a tunable
knob in overcoming the rx_missed_errors and rx_no_buffer count issue.
Thanks & Regards,
Naveen Chandra MJ
Regards,
Naveen Chandra MJ
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
E1000-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/e1000-devel