diff options
| author | David Arinzon <darinzon@amazon.com> | 2026-04-15 12:13:56 +0000 |
|---|---|---|
| committer | Arthur Kiyanovski <akiyano@FreeBSD.org> | 2026-04-27 21:13:53 +0000 |
| commit | e3f4a63af63bea70bc86b6c790b14aa5ee99fcd0 (patch) | |
| tree | c8c9eed7c7c23b605aaa82f678280a69bfc131a1 /sys/dev | |
| parent | 4846afc9104a1b4aeec31dc7c324f69ad5ffab1b (diff) | |
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ena/ena.c | 4 | ||||
| -rw-r--r-- | sys/dev/ena/ena.h | 2 | ||||
| -rw-r--r-- | sys/dev/ena/ena_sysctl.c | 2 |
3 files changed, 8 insertions, 0 deletions
diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c index 6972c71bd67c..4f45d9103d76 100644 --- a/sys/dev/ena/ena.c +++ b/sys/dev/ena/ena.c @@ -3090,15 +3090,19 @@ ena_keep_alive_wd(void *adapter_data, struct ena_admin_aenq_entry *aenq_e) sbintime_t stime; uint64_t rx_drops; uint64_t tx_drops; + uint64_t rx_overruns; desc = (struct ena_admin_aenq_keep_alive_desc *)aenq_e; rx_drops = ((uint64_t)desc->rx_drops_high << 32) | desc->rx_drops_low; tx_drops = ((uint64_t)desc->tx_drops_high << 32) | desc->tx_drops_low; + rx_overruns = ((uint64_t)desc->rx_overruns_high << 32) | desc->rx_overruns_low; counter_u64_zero(adapter->hw_stats.rx_drops); counter_u64_add(adapter->hw_stats.rx_drops, rx_drops); counter_u64_zero(adapter->hw_stats.tx_drops); counter_u64_add(adapter->hw_stats.tx_drops, tx_drops); + counter_u64_zero(adapter->hw_stats.rx_overruns); + counter_u64_add(adapter->hw_stats.rx_overruns, rx_overruns); stime = getsbinuptime(); atomic_store_rel_64(&adapter->keep_alive_timestamp, stime); diff --git a/sys/dev/ena/ena.h b/sys/dev/ena/ena.h index b2156437f847..8b5bcdc3214f 100644 --- a/sys/dev/ena/ena.h +++ b/sys/dev/ena/ena.h @@ -417,6 +417,8 @@ struct ena_hw_stats { counter_u64_t rx_drops; counter_u64_t tx_drops; + + counter_u64_t rx_overruns; }; /* Board specific private data structure */ diff --git a/sys/dev/ena/ena_sysctl.c b/sys/dev/ena/ena_sysctl.c index 38e52f9066cc..a46119e06adf 100644 --- a/sys/dev/ena/ena_sysctl.c +++ b/sys/dev/ena/ena_sysctl.c @@ -419,6 +419,8 @@ ena_sysctl_add_stats(struct ena_adapter *adapter) &hw_stats->rx_drops, "Receive packet drops"); SYSCTL_ADD_COUNTER_U64(ctx, hw_list, OID_AUTO, "tx_drops", CTLFLAG_RD, &hw_stats->tx_drops, "Transmit packet drops"); + SYSCTL_ADD_COUNTER_U64(ctx, hw_list, OID_AUTO, "rx_overruns", CTLFLAG_RD, + &hw_stats->rx_overruns, "Receive overruns"); /* ENA Admin queue stats */ admin_node = SYSCTL_ADD_NODE(ctx, child, OID_AUTO, "admin_stats", |
