git: b9f7a09c490f - stable/14 - cxgbe(4): Clobber all tracer state on stop and redo only traceq on restart.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 21 Oct 2024 18:39:32 UTC
The branch stable/14 has been updated by np:
URL: https://cgit.FreeBSD.org/src/commit/?id=b9f7a09c490f4eb6b9c179d1dfd756e236494998
commit b9f7a09c490f4eb6b9c179d1dfd756e236494998
Author: Navdeep Parhar <np@FreeBSD.org>
AuthorDate: 2024-09-24 23:28:29 +0000
Commit: Navdeep Parhar <np@FreeBSD.org>
CommitDate: 2024-10-21 17:14:39 +0000
cxgbe(4): Clobber all tracer state on stop and redo only traceq on restart.
Tracers have to be recreated after a restart but that's okay given that
they are used for debugging only.
Sponsored by: Chelsio Communications
(cherry picked from commit ee3da604dd016439850dae77366796313e60f0e0)
---
sys/dev/cxgbe/t4_main.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c
index 3223d32b5d36..e33e732a7fa2 100644
--- a/sys/dev/cxgbe/t4_main.c
+++ b/sys/dev/cxgbe/t4_main.c
@@ -2095,6 +2095,8 @@ stop_lld(struct adapter *sc)
if (pi->flags & HAS_TRACEQ) {
pi->flags &= ~HAS_TRACEQ;
sc->traceq = -1;
+ sc->tracer_valid = 0;
+ sc->tracer_enabled = 0;
}
}
if (sc->flags & FULL_INIT_DONE) {
@@ -2411,6 +2413,15 @@ restart_lld(struct adapter *sc)
"interface: %d\n", rc);
goto done;
}
+ if (sc->traceq < 0 && IS_MAIN_VI(vi)) {
+ sc->traceq = sc->sge.rxq[vi->first_rxq].iq.abs_id;
+ t4_write_reg(sc, is_t4(sc) ?
+ A_MPS_TRC_RSS_CONTROL :
+ A_MPS_T5_TRC_RSS_CONTROL,
+ V_RSSCONTROL(pi->tx_chan) |
+ V_QUEUENUMBER(sc->traceq));
+ pi->flags |= HAS_TRACEQ;
+ }
ifp = vi->ifp;
if (!(if_getdrvflags(ifp) & IFF_DRV_RUNNING))