linux/drivers/infiniband/hw/mlx4
Matan Barak c66fa19c40 net/mlx4: Add EQ pool
Previously, mlx4_en allocated EQs and used them exclusively.
This affected RoCE performance, as applications which are
events sensitive were limited to use only the legacy EQs.

Change that by introducing an EQ pool. This pool is managed
by mlx4_core. EQs are assigned to ports (when there are limited
number of EQs, multiple ports could be assigned to the same EQs).

An exception to this rule is the ASYNC EQ which handles various events.

Legacy EQs are completely removed as all EQs could be shared.

When a consumer (mlx4_ib/mlx4_en) requests an EQ, it asks for
EQ serving on a specific port. The core driver calculates which
EQ should be assigned to that request.

Because IRQs are shared between IB and Ethernet modules, their
names only include the PCI device BDF address.

Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Ido Shamay <idos@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-05-30 23:35:34 -07:00
..
Kconfig IB/mlx4: Add dependency INET 2014-01-19 15:14:05 -08:00
Makefile IB/mlx4: Add iov directory in sysfs under the ib device 2012-09-30 20:33:39 -07:00
ah.c IB/mlx4: Load balance ports in port aggregation mode 2015-02-04 16:14:25 -08:00
alias_GUID.c net/mlx4_core: Modify port values when generting EQEs for VFs 2015-05-24 23:05:09 -04:00
cm.c IB/mlx4: In mlx4_ib_demux_cm, print out GUID in host-endian order 2015-02-17 22:11:40 -08:00
cq.c InfiniBand/RDMA changes for 3.20 merge window: 2015-02-21 12:53:21 -08:00
doorbell.c IB: Refactor umem to use linear SG table 2014-03-04 10:34:28 -08:00
mad.c IB/mlx4: Convert slave port before building address-handle 2015-05-24 23:05:09 -04:00
main.c net/mlx4: Add EQ pool 2015-05-30 23:35:34 -07:00
mcg.c mlx4: Implement IP based gids support for RoCE/SRIOV 2014-03-12 15:57:16 -04:00
mlx4_ib.h net/mlx4: Add EQ pool 2015-05-30 23:35:34 -07:00
mr.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
qp.c Merge branches 'cve-fixup', 'ipoib', 'iser', 'misc-4.1', 'or-mlx4' and 'srp' into for-4.1 2015-04-15 16:24:49 -04:00
srq.c IB/mlx4: Reset flow support for IB kernel ULPs 2015-02-09 14:03:53 -08:00
sysfs.c IB/mlx4: Change init flow to request alias GUIDs for active VFs 2015-04-15 15:51:50 -04:00
user.h mlx4: 64-byte CQE/EQE support 2012-11-26 10:19:17 -08:00