summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornp <np@FreeBSD.org>2013-07-04 20:17:39 +0000
committernp <np@FreeBSD.org>2013-07-04 20:17:39 +0000
commit1e7b7f017d20050656d3e9d3953244a7cc3e6de1 (patch)
treee34c88bab57f83153ed7db1ac1ec6444757db574
parent9a2ff700a4c680bcc0d7f2951ae8c0cd82f899b3 (diff)
downloadFreeBSD-src-1e7b7f017d20050656d3e9d3953244a7cc3e6de1.zip
FreeBSD-src-1e7b7f017d20050656d3e9d3953244a7cc3e6de1.tar.gz
On-the-fly changes to the interrupt coalescing timer should apply to the
TOE rx queues too. MFC after: 1 day
-rw-r--r--sys/dev/cxgbe/t4_main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/dev/cxgbe/t4_main.c b/sys/dev/cxgbe/t4_main.c
index b0d0532..6f96390 100644
--- a/sys/dev/cxgbe/t4_main.c
+++ b/sys/dev/cxgbe/t4_main.c
@@ -4646,6 +4646,9 @@ sysctl_holdoff_tmr_idx(SYSCTL_HANDLER_ARGS)
struct adapter *sc = pi->adapter;
int idx, rc, i;
struct sge_rxq *rxq;
+#ifdef TCP_OFFLOAD
+ struct sge_ofld_rxq *ofld_rxq;
+#endif
uint8_t v;
idx = pi->tmr_idx;
@@ -4670,6 +4673,15 @@ sysctl_holdoff_tmr_idx(SYSCTL_HANDLER_ARGS)
rxq->iq.intr_params = v;
#endif
}
+#ifdef TCP_OFFLOAD
+ for_each_ofld_rxq(pi, i, ofld_rxq) {
+#ifdef atomic_store_rel_8
+ atomic_store_rel_8(&ofld_rxq->iq.intr_params, v);
+#else
+ ofld_rxq->iq.intr_params = v;
+#endif
+ }
+#endif
pi->tmr_idx = idx;
end_synchronized_op(sc, LOCK_HELD);
OpenPOWER on IntegriCloud