* Help interpreting ethtool -S for tg3 (rx_discards and such)
@ 2004-09-09 16:09 François Baligant
2004-09-09 16:47 ` akepner
0 siblings, 1 reply; 2+ messages in thread
From: François Baligant @ 2004-09-09 16:09 UTC (permalink / raw)
To: netdev
Hi,
We have a tg3 NIC under heavy load (30megabit/s, around 15k to 20k
packet/sec)
Under 2.6.7, the NIC behaves quite correctly (except errors see below)
Under 2.6.8, the NIC's link will go down after some time and not come up
again (rx_discards grow more quickly than in 2.6.7)
Under 2.6.9-rc1, the NIC will go down from time to time also but recover
after 5 seconds and link goes up again (dito)
Should I worry about the errors in ethtool, like rx_discards ? What does
it mean ? Can i tune something to avoid them ? (netdev backlog?)
Is there any way to lower the amount of interrupt needed to handle this
load? (it's eating quite a lot of CPU)
Here is ethtool -S under 2.6.7
root# ethtool -S eth1
NIC statistics:
rx_octets: 965700844
rx_fragments: 0
rx_ucast_packets: 828761367
rx_mcast_packets: 80
rx_bcast_packets: 4768
rx_fcs_errors: 0
rx_align_errors: 0
rx_xon_pause_rcvd: 0
rx_xoff_pause_rcvd: 0
rx_mac_ctrl_rcvd: 0
rx_xoff_entered: 0
rx_frame_too_long_errors: 0
rx_jabbers: 0
rx_undersize_packets: 0
rx_in_length_errors: 0
rx_out_length_errors: 0
rx_64_or_less_octet_packets: 366875287
rx_65_to_127_octet_packets: 438933359
rx_128_to_255_octet_packets: 18104208
rx_256_to_511_octet_packets: 2937651
rx_512_to_1023_octet_packets: 956801
rx_1024_to_1522_octet_packets: 958902
rx_1523_to_2047_octet_packets: 0
rx_2048_to_4095_octet_packets: 0
rx_4096_to_8191_octet_packets: 0
rx_8192_to_9022_octet_packets: 0
tx_octets: 3659297
tx_collisions: 0
tx_xon_sent: 0
tx_xoff_sent: 0
tx_flow_control: 0
tx_mac_errors: 0
tx_single_collisions: 0
tx_mult_collisions: 0
tx_deferred: 0
tx_excessive_collisions: 0
tx_late_collisions: 0
tx_collide_2times: 0
tx_collide_3times: 0
tx_collide_4times: 0
tx_collide_5times: 0
tx_collide_6times: 0
tx_collide_7times: 0
tx_collide_8times: 0
tx_collide_9times: 0
tx_collide_10times: 0
tx_collide_11times: 0
tx_collide_12times: 0
tx_collide_13times: 0
tx_collide_14times: 0
tx_collide_15times: 0
tx_ucast_packets: 832632783
tx_mcast_packets: 5
tx_bcast_packets: 65
tx_carrier_sense_errors: 0
tx_discards: 0
tx_errors: 0
dma_writeq_full: 496271
dma_write_prioq_full: 0
rxbds_empty: 0
rx_discards: 157542
rx_errors: 0
rx_threshold_hit: 828579298
dma_readq_full: 71729839
dma_read_prioq_full: 87219
tx_comp_queue_full: 53098049
ring_set_send_prod_index: 763849878
ring_status_update: 906065223
nic_irqs: 647367776
nic_avoided_irqs: 258697447
nic_tx_threshold_hit: 24570520
root# mpstat 1
Linux 2.6.7-mjb1 (localhost) 09/09/2004
10:58:02 AM CPU %user %nice %system %iowait %idle intr/s
10:58:03 AM all 21.66 0.00 14.65 0.00 63.69 29276.92
10:58:04 AM all 21.25 0.00 15.00 0.00 63.75 28553.75
10:58:05 AM all 14.81 0.00 10.49 0.00 74.69 26353.09
10:58:06 AM all 13.94 0.00 10.91 0.00 75.15 24815.85
10:58:07 AM all 12.50 0.00 10.12 0.00 77.38 23850.00
10:58:08 AM all 16.77 0.00 9.58 0.00 73.65 23755.42
10:58:09 AM all 14.12 0.00 9.41 0.00 76.47 22460.00
root# ethtool -a eth1
Pause parameters for eth1:
Autonegotiate: off
RX: off
TX: off
root# ethtool -k eth1
Offload parameters for eth1:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: off
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Help interpreting ethtool -S for tg3 (rx_discards and such)
2004-09-09 16:09 Help interpreting ethtool -S for tg3 (rx_discards and such) François Baligant
@ 2004-09-09 16:47 ` akepner
0 siblings, 0 replies; 2+ messages in thread
From: akepner @ 2004-09-09 16:47 UTC (permalink / raw)
To: François Baligant; +Cc: netdev
On Thu, 9 Sep 2004, François Baligant wrote:
> Hi,
>
> We have a tg3 NIC under heavy load (30megabit/s, around 15k to 20k
> packet/sec)
>
> Under 2.6.7, the NIC behaves quite correctly (except errors see below)
> Under 2.6.8, the NIC's link will go down after some time and not come up
> again (rx_discards grow more quickly than in 2.6.7)
> Under 2.6.9-rc1, the NIC will go down from time to time also but recover
> after 5 seconds and link goes up again (dito)
>
> Should I worry about the errors in ethtool, like rx_discards ? What does
> it mean ? Can i tune something to avoid them ? (netdev backlog?)
I believe that when rx_discards increments, it means that the card
dropped the packet due to a resource constraint.
I've seen similar behavior (but at much higher data rates.) In my
case, enabling h/w flow control fixed things. If it's possible to use
h/w flow control in your configuration, then you might give that a try.
>
> Is there any way to lower the amount of interrupt needed to handle this
> load? (it's eating quite a lot of CPU)
> ....
That is a _feature_ of NAPI ;-)
--
Arthur
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2004-09-09 16:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-09 16:09 Help interpreting ethtool -S for tg3 (rx_discards and such) François Baligant
2004-09-09 16:47 ` akepner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).