git: 113c730edcca - stable/12 - ena: Re-Enable per-packet missing tx completion print
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 31 Jan 2023 13:18:07 UTC
The branch stable/12 has been updated by mw:
URL: https://cgit.FreeBSD.org/src/commit/?id=113c730edcca8244bd14e6c23916dcdfda5da944
commit 113c730edcca8244bd14e6c23916dcdfda5da944
Author: Arthur Kiyanovski <akiyano@amazon.com>
AuthorDate: 2022-12-19 13:56:44 +0000
Commit: Marcin Wojtas <mw@FreeBSD.org>
CommitDate: 2023-01-31 12:46:50 +0000
ena: Re-Enable per-packet missing tx completion print
Commit [1] first added the ena_tx_buffer.print_once member,
so that a message about a missing tx completion is printed only
once per packet (and not every second when the watchdog runs).
In this commit print_once is initialized to true, and is set back
to false after detecting a missing tx completion and printing
a warning about it to dmesg.
Commit [2] incorrectly reverses the values assigned to print_once.
The variable is initialized to be true but is checked to be false
when a missing tx completion is detected. This is never true, and
therefore the warning print for each missing tx completion is never
printed since this commit.
Commit [3] added time passed since last TX cleanup to the missing
tx completions per-packet print. However, due to the issue in commit
[2], this time is never printed.
This commit reverses back the values assigned to ena_tx_buffer.print_once
erroneously by commit [2], bringing back to life the missing tx
completion per-packet print.
Also add a space after "." in the missing tx completion print.
[1] - 9b8d05b8ac78 ("Add support for Amazon Elastic Network Adapter (ENA) NIC")
[2] - 74dba3ad7851 ("Split function checking for missing TX completion in ENA driver")
[3] - d8aba82b5ca7 ("ena: Store ticks of last Tx cleanup")
Fixes: 74dba3ad7851 ("Split function checking for missing TX completion in ENA driver")
Fixes: d8aba82b5ca7 ("ena: Store ticks of last Tx cleanup")
MFC after: 2 weeks
Sponsored by: Amazon, Inc.
(cherry picked from commit f01b2cd98e93ef5ac3698b97bbaa45ac9c50fe5d)
---
sys/dev/ena/ena.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/sys/dev/ena/ena.c b/sys/dev/ena/ena.c
index a93e55e36bde..fe9c411f125a 100644
--- a/sys/dev/ena/ena.c
+++ b/sys/dev/ena/ena.c
@@ -3023,19 +3023,19 @@ check_missing_comp_in_tx_queue(struct ena_adapter *adapter,
/* Check again if packet is still waiting */
if (unlikely(time_offset > adapter->missing_tx_timeout)) {
- if (!tx_buf->print_once) {
+ if (tx_buf->print_once) {
time_since_last_cleanup = TICKS_2_USEC(ticks -
tx_ring->tx_last_cleanup_ticks);
missing_tx_comp_to = sbttoms(
adapter->missing_tx_timeout);
ena_log(pdev, WARN,
- "Found a Tx that wasn't completed on time, qid %d, index %d."
+ "Found a Tx that wasn't completed on time, qid %d, index %d. "
"%d usecs have passed since last cleanup. Missing Tx timeout value %d msecs.\n",
tx_ring->qid, i, time_since_last_cleanup,
missing_tx_comp_to);
}
- tx_buf->print_once = true;
+ tx_buf->print_once = false;
missed_tx++;
}
}