Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/cxgbe/t4_main.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 7,212 Lines • ▼ Show 20 Lines | SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, "tx_toe_tls_octets", | ||||
CTLFLAG_RD, &pi->tx_toe_tls_octets, | CTLFLAG_RD, &pi->tx_toe_tls_octets, | ||||
"# of payload octets in transmitted TOE TLS records"); | "# of payload octets in transmitted TOE TLS records"); | ||||
SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, "rx_toe_tls_records", | SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, "rx_toe_tls_records", | ||||
CTLFLAG_RD, &pi->rx_toe_tls_records, | CTLFLAG_RD, &pi->rx_toe_tls_records, | ||||
"# of TOE TLS records received"); | "# of TOE TLS records received"); | ||||
SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, "rx_toe_tls_octets", | SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, "rx_toe_tls_octets", | ||||
CTLFLAG_RD, &pi->rx_toe_tls_octets, | CTLFLAG_RD, &pi->rx_toe_tls_octets, | ||||
"# of payload octets in received TOE TLS records"); | "# of payload octets in received TOE TLS records"); | ||||
SYSCTL_ADD_ULONG(ctx, children, OID_AUTO, "tx_toe_iscsi_pdus", | |||||
np: Should we move all the toe stats out of the port_info and into the correct queue (txq, ofld_txq… | |||||
jhbAuthorUnsubmitted Done Inline ActionsSo I looked and this doesn't let us avoid the atomic sadly. For TOE TLS TX, the TXQ lock is only locked inside of t4_l2t_send() and not in the caller where the stats are bumped. Pushing the TXQ lock out into the caller isn't feasible I think because t4_l2t_send_slow() wants to do some work without the TXQ lock held. I'm not sure if the RXQ is locked for the TOE TLS RX stats (it might be). An alternative for all of these stats though might be to switch to counter_u64. jhb: So I looked and this doesn't let us avoid the atomic sadly. For TOE TLS TX, the TXQ lock is… | |||||
CTLFLAG_RD, &pi->tx_toe_iscsi_pdus, | |||||
"# of TOE iSCSI PDUs transmitted"); | |||||
} | } | ||||
static int | static int | ||||
sysctl_int_array(SYSCTL_HANDLER_ARGS) | sysctl_int_array(SYSCTL_HANDLER_ARGS) | ||||
{ | { | ||||
int rc, *i, space = 0; | int rc, *i, space = 0; | ||||
struct sbuf sb; | struct sbuf sb; | ||||
▲ Show 20 Lines • Show All 4,609 Lines • Show Last 20 Lines |
Should we move all the toe stats out of the port_info and into the correct queue (txq, ofld_txq, rxq, ofld_rxq) instead? That would avoid an atomic and the toep->vi->pi->stat indirection on the hot path.