OSDN Git Service

net/mlx5: increase async EQ to avoid EQ overrun
authorMax Gurtovoy <maxg@mellanox.com>
Mon, 5 Feb 2018 14:29:51 +0000 (16:29 +0200)
committerDoug Ledford <dledford@redhat.com>
Mon, 5 Feb 2018 15:58:25 +0000 (10:58 -0500)
Currently the async EQ has 256 entries only. It might not be big enough
for the SW to handle all the needed pending events. For example, in case
of many QPs (let's say 1024) connected to a SRQ created using NVMeOF target
and the target goes down, the FW will raise 1024 "last WQE reached" events
and may cause EQ overrun. Increase the EQ to more reasonable size, that beyond
it the FW should be able to delay the event and raise it later on using internal
backpressure mechanism.

Signed-off-by: Max Gurtovoy <maxg@mellanox.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Doug Ledford <dledford@redhat.com>
drivers/net/ethernet/mellanox/mlx5/core/eq.c

index 14d5782..7fbed34 100644 (file)
@@ -51,7 +51,7 @@ enum {
 
 enum {
        MLX5_NUM_SPARE_EQE      = 0x80,
-       MLX5_NUM_ASYNC_EQE      = 0x100,
+       MLX5_NUM_ASYNC_EQE      = 0x1000,
        MLX5_NUM_CMD_EQE        = 32,
        MLX5_NUM_PF_DRAIN       = 64,
 };