diff options
author | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2023-12-30 17:52:28 +0000 |
---|---|---|
committer | Alexander Bluhm <bluhm@cvs.openbsd.org> | 2023-12-30 17:52:28 +0000 |
commit | 8e3fabe6daca8f5aae6ef7537eba8dc617961f46 (patch) | |
tree | 21c8ff516d1062938850f6d4506c1f60708ae4aa | |
parent | a8ad9c56448334f31ed63725ea6eea9657e858b9 (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.c | 4 |
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 |