aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Iversen <ci@iversenit.dk>2021-01-27 00:03:01 +0100
committerMichael Brown <mcb30@ipxe.org>2021-02-01 11:12:26 +0000
commitd948ac6c6127c23c77d9e8fd6299ffa588f09f64 (patch)
treed111e3dfc609bff22b0956cf21d171e3278992d6
parente62c3e3513758a523f0222d3fe7fa44d7fe0d4fb (diff)
downloadipxe-d948ac6c6127c23c77d9e8fd6299ffa588f09f64.zip
ipxe-d948ac6c6127c23c77d9e8fd6299ffa588f09f64.tar.gz
ipxe-d948ac6c6127c23c77d9e8fd6299ffa588f09f64.tar.bz2
[hermon] Adjust Ethernet work queue size
Hermon Ethernet work queues have more RX than TX entries, unlike most other drivers. This is possibly the source of some stochastic deadlocks previously experienced with this driver. Update the sizes to be in line with other drivers, and make them slightly larger for better performance. These new queue sizes have been found to work well with ConnectX-3 hardware. Signed-off-by: Christian Iversen <ci@iversenit.dk> Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r--src/drivers/infiniband/hermon.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/drivers/infiniband/hermon.c b/src/drivers/infiniband/hermon.c
index 45dfd1a..061ee81 100644
--- a/src/drivers/infiniband/hermon.c
+++ b/src/drivers/infiniband/hermon.c
@@ -3274,13 +3274,13 @@ static struct hermon_port_type hermon_port_type_ib = {
*/
/** Number of Hermon Ethernet send work queue entries */
-#define HERMON_ETH_NUM_SEND_WQES 2
+#define HERMON_ETH_NUM_SEND_WQES 16
/** Number of Hermon Ethernet receive work queue entries */
-#define HERMON_ETH_NUM_RECV_WQES 4
+#define HERMON_ETH_NUM_RECV_WQES 8
/** Number of Hermon Ethernet completion entries */
-#define HERMON_ETH_NUM_CQES 8
+#define HERMON_ETH_NUM_CQES 32
/**
* Transmit packet via Hermon Ethernet device