svn commit: r280526 - stable/10/sys/dev/sfxge
Andrew Rybchenko
arybchik at FreeBSD.org
Wed Mar 25 10:32:51 UTC 2015
Author: arybchik
Date: Wed Mar 25 10:32:49 2015
New Revision: 280526
URL: https://svnweb.freebsd.org/changeset/base/280526
Log:
MFC: 278255
sfxge: Add statistics for partially dropped TSO packets
Sponsored by: Solarflare Communications, Inc.
Approved by: gnn (mentor)
Modified:
stable/10/sys/dev/sfxge/sfxge_tx.c
stable/10/sys/dev/sfxge/sfxge_tx.h
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/dev/sfxge/sfxge_tx.c
==============================================================================
--- stable/10/sys/dev/sfxge/sfxge_tx.c Wed Mar 25 10:31:43 2015 (r280525)
+++ stable/10/sys/dev/sfxge/sfxge_tx.c Wed Mar 25 10:32:49 2015 (r280526)
@@ -1093,12 +1093,16 @@ sfxge_tx_queue_tso(struct sfxge_txq *txq
* roll back the work we have done.
*/
if (txq->n_pend_desc >
- SFXGE_TSO_MAX_DESC - (1 + SFXGE_TX_MAPPING_MAX_SEG))
+ SFXGE_TSO_MAX_DESC - (1 + SFXGE_TX_MAPPING_MAX_SEG)) {
+ txq->tso_pdrop_too_many++;
break;
+ }
next_id = (id + 1) & txq->ptr_mask;
if (__predict_false(tso_start_new_packet(txq, &tso,
- next_id)))
+ next_id))) {
+ txq->tso_pdrop_no_rsrc++;
break;
+ }
id = next_id;
}
}
@@ -1515,6 +1519,8 @@ static const struct {
SFXGE_TX_STAT(tso_bursts, tso_bursts),
SFXGE_TX_STAT(tso_packets, tso_packets),
SFXGE_TX_STAT(tso_long_headers, tso_long_headers),
+ SFXGE_TX_STAT(tso_pdrop_too_many, tso_pdrop_too_many),
+ SFXGE_TX_STAT(tso_pdrop_no_rsrc, tso_pdrop_no_rsrc),
SFXGE_TX_STAT(tx_collapses, collapses),
SFXGE_TX_STAT(tx_drops, drops),
SFXGE_TX_STAT(tx_get_overflow, get_overflow),
Modified: stable/10/sys/dev/sfxge/sfxge_tx.h
==============================================================================
--- stable/10/sys/dev/sfxge/sfxge_tx.h Wed Mar 25 10:31:43 2015 (r280525)
+++ stable/10/sys/dev/sfxge/sfxge_tx.h Wed Mar 25 10:32:49 2015 (r280526)
@@ -201,6 +201,8 @@ struct sfxge_txq {
unsigned long get_non_tcp_overflow;
unsigned long put_overflow;
unsigned long netdown_drops;
+ unsigned long tso_pdrop_too_many;
+ unsigned long tso_pdrop_no_rsrc;
/* The following fields change more often, and are used mostly
* on the completion path
More information about the svn-src-stable-10
mailing list