{net, IB}/mlx4: Initialize CQ buffers in the driver when possible
authorDaniel Jurgens <danielj@mellanox.com>
Wed, 21 Nov 2018 15:12:05 +0000 (17:12 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 22 Nov 2018 19:38:36 +0000 (11:38 -0800)
commite45678973dcbb131f29a6c90b0ea3829f38eeab8
tree7c832cf06e48233a27040f9134bd70b14d77debf
parent1d0795ea9ca37be0fa0823776e0367b8fc398c91
{net, IB}/mlx4: Initialize CQ buffers in the driver when possible

Perform CQ initialization in the driver when the capability is supported
by the FW.  When passing the CQ to HW indicate that the CQ buffer has
been pre-initialized.

Doing so decreases CQ creation time.  Testing on P8 showed a single 2048
entry CQ creation time was reduced from ~395us to ~170us, which is
2.3x faster.

Signed-off-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Tariq Toukan <tariqt@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/infiniband/hw/mlx4/cq.c
drivers/net/ethernet/mellanox/mlx4/cq.c
drivers/net/ethernet/mellanox/mlx4/en_cq.c
drivers/net/ethernet/mellanox/mlx4/fw.c
include/linux/mlx4/device.h