summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2023-12-30 17:52:28 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2023-12-30 17:52:28 +0000
commit8e3fabe6daca8f5aae6ef7537eba8dc617961f46 (patch)
tree21c8ff516d1062938850f6d4506c1f60708ae4aa
parenta8ad9c56448334f31ed63725ea6eea9657e858b9 (diff)
Set ixl(4) IXL_TX_PKT_DESCS to 8.
Mark Patruck has reported problems with ixl revision 1.90 TSO diff. He uses ixl device passthrough from Linux via KVM to OpenBSD guest. After a few hours of operation, interface locks up with oactive. The problem also occures with TSO disabled, after the TSO diff had been commited. deraadt@ has seen similar problems with ixl interface on sparc64. Changing IXL_TX_PKT_DESCS back to the original value 8 fixes the lockup and even TSO on the hardware still works. FreeBSD and NetBSD also use this value. The 32 was copied from ix(4) TSO diff and is not necessary for ixl(4). debugged with jan@; lot of bisecting and testing by Mark Patruck OK mglocker@ patrick@
-rw-r--r--sys/dev/pci/if_ixl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/pci/if_ixl.c b/sys/dev/pci/if_ixl.c
index fb378235106..88e0bb93f24 100644
--- a/sys/dev/pci/if_ixl.c
+++ b/sys/dev/pci/if_ixl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ixl.c,v 1.93 2023/11/10 15:51:20 bluhm Exp $ */
+/* $OpenBSD: if_ixl.c,v 1.94 2023/12/30 17:52:27 bluhm Exp $ */
/*
* Copyright (c) 2013-2015, Intel Corporation
@@ -900,7 +900,7 @@ struct ixl_rx_wb_desc_32 {
uint64_t qword3;
} __packed __aligned(16);
-#define IXL_TX_PKT_DESCS 32
+#define IXL_TX_PKT_DESCS 8
#define IXL_TX_QUEUE_ALIGN 128
#define IXL_RX_QUEUE_ALIGN 128