Merge tag 'mlx5-updates-2018-02-21' of git://git.kernel.org/pub/scm/linux/kernel...
authorDavid S. Miller <davem@davemloft.net>
Thu, 22 Feb 2018 19:38:38 +0000 (14:38 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 22 Feb 2018 19:38:38 +0000 (14:38 -0500)
commitf4af1db48b20bb49152e19f1b6ed42e3275d8075
treebcd6e2c86eed6dba01d7d402e2be8a8c0a8bf9ce
parent0ea5f58ebc83edfd13b0b254fbbc4ac191351c18
parent388ca8be00370db132464e27f745b8a0add19fcb
Merge tag 'mlx5-updates-2018-02-21' of git://git./linux/kernel/git/mellanox/linux

Saeed Mahameed says:

====================
mlx5-updates-2018-02-21

This series includes shared code updates for mlx5 core driver for both
netdev and rdma subsystems.

By Saeed,
First six patches of the series are meant to address a performance issue
and should provide a performance boost for multi core IRQ interrupt hungry
workloads.  The issue is fixed in the first patch, all other patches are
meant to refactor the code in light of this fix.

The problem it comes to fix, is a shared spinlock accessed across all HCA
IRQs which protects the CQ database.  To solve this we simply move the CQ
database and its spinlock to be per EQ (IRQ), thus per core.

By Yonatan,
Fragmented completion queue (CQ) for RDMA,
core driver implementation to create fragmented CQ buffers rather than
one large contiguous memory buffer, the implementation scheme already
exist and used by the netdev CQs, the patch shares that code with the
rdma CQ creation flow and makes use of the new API in mlx5_ib driver.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>