summaryrefslogtreecommitdiffstats
path: root/sys/dev/ixgbe/ixgbe.h
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2012-09-26 18:11:43 +0000
committerjhb <jhb@FreeBSD.org>2012-09-26 18:11:43 +0000
commit085c4798a8326c7cdf744bd626bec7ccc28b8588 (patch)
treeaa7b1bca87c2e1fc7f133dcb22223b170d48508f /sys/dev/ixgbe/ixgbe.h
parentbb8696a82ce80cc52516313a1c9221c8a31b3425 (diff)
downloadFreeBSD-src-085c4798a8326c7cdf744bd626bec7ccc28b8588.zip
FreeBSD-src-085c4798a8326c7cdf744bd626bec7ccc28b8588.tar.gz
Merge similar fixes from 223198 from igb to ixgbe:
- Use a dedicated task to handle deferred transmits from the if_transmit method instead of reusing the existing per-queue interrupt task. Reusing the per-queue interrupt task could result in both an interrupt thread and the taskqueue thread trying to handle received packets on a single queue resulting in out-of-order packet processing and lock contention. - Don't define ixgbe_start() at all where if_transmit is used. Tested by: Vijay Singh Reviewed by: jfv MFC after: 2 weeks
Diffstat (limited to 'sys/dev/ixgbe/ixgbe.h')
-rw-r--r--sys/dev/ixgbe/ixgbe.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/dev/ixgbe/ixgbe.h b/sys/dev/ixgbe/ixgbe.h
index d167306..f2b40df 100644
--- a/sys/dev/ixgbe/ixgbe.h
+++ b/sys/dev/ixgbe/ixgbe.h
@@ -314,6 +314,7 @@ struct tx_ring {
char mtx_name[16];
#if __FreeBSD_version >= 800000
struct buf_ring *br;
+ struct task txq_task;
#endif
#ifdef IXGBE_FDIR
u16 atr_sample;
OpenPOWER on IntegriCloud