sfxge: Add statistics for partially dropped TSO packets
Sponsored by: Solarflare Communications, Inc. Approved by: gnn (mentor)
This commit is contained in:
parent
0f999687bb
commit
e1a3d10e9e
@ -1094,12 +1094,16 @@ sfxge_tx_queue_tso(struct sfxge_txq *txq, struct mbuf *mbuf,
|
||||
* 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;
|
||||
}
|
||||
}
|
||||
@ -1516,6 +1520,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),
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user