linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlx4
Eli Cohen c82e9aa0a8 mlx4_core: resource tracking for HCA resources used by guests
The resource tracker is used to track usage of HCA resources by the different
guests.

Virtual functions (VFs) are attached to guest operating systems but
resources are allocated from the same pool and are assigned to VFs. It is
essential that hostile/buggy guests not be able to affect the operation of
other VFs, possibly attached to other guest OSs since ConnectX firmware is not
tolerant to misuse of resources.

The resource tracker module associates each resource with a VF and maintains
state information for the allocated object. It also defines allowed state
transitions and enforces them.

Relationships between resources are also referred to. For example, CQs are
pointed to by QPs, so it is forbidden to destroy a CQ if a QP refers to it.

ICM memory is always accessible through the primary function and hence it is
allocated by the owner of the primary function.

When a guest dies, an FLR is generated for all the VFs it owns and all the
resources it used are freed.

The tracked resource types are: QPs, CQs, SRQs, MPTs, MTTs, MACs, RES_EQs,
and XRCDNs.

Signed-off-by: Eli Cohen <eli@mellanox.co.il>
Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-12-13 13:56:07 -05:00
..
alloc.c
catas.c
cmd.c mlx4_core: resource tracking for HCA resources used by guests 2011-12-13 13:56:07 -05:00
cq.c mlx4_core: resource tracking for HCA resources used by guests 2011-12-13 13:56:07 -05:00
en_cq.c net/mlx4_en: using non collapsed CQ on TX 2011-11-27 17:17:04 -05:00
en_ethtool.c net/mlx4_en: fix WOL handlers were always looking at port2 capability bit 2011-11-27 17:17:04 -05:00
en_main.c
en_netdev.c net: make vlan ndo_vlan_rx_[add/kill]_vid return error value 2011-12-08 19:52:37 -05:00
en_port.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
en_port.h mlx4_core: initial header-file changes for SRIOV support 2011-12-13 13:56:05 -05:00
en_resources.c net/mlx4: move RSS related definitions to be global 2011-11-27 17:17:03 -05:00
en_rx.c net/mlx4: fix UDP RSS related settings 2011-11-27 17:17:03 -05:00
en_selftest.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
en_tx.c net/mlx4_en: bug fix for the case of vlan id 0 and UP 0 2011-11-27 17:17:04 -05:00
eq.c mlx4_core: resource tracking for HCA resources used by guests 2011-12-13 13:56:07 -05:00
fw.c mlx4_core: Added FW commands and their wrappers for supporting SRIOV 2011-12-13 13:56:06 -05:00
fw.h mlx4_core: Added FW commands and their wrappers for supporting SRIOV 2011-12-13 13:56:06 -05:00
icm.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
icm.h
intf.c
Kconfig
main.c mlx4: Extanding port_mask functionality 2011-12-13 13:56:05 -05:00
Makefile mlx4_core: resource tracking for HCA resources used by guests 2011-12-13 13:56:07 -05:00
mcg.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
mlx4_en.h net/mlx4_en: adding loopback support 2011-11-27 17:17:04 -05:00
mlx4.h mlx4_core: resource tracking for HCA resources used by guests 2011-12-13 13:56:07 -05:00
mr.c mlx4_core: resource tracking for HCA resources used by guests 2011-12-13 13:56:07 -05:00
pd.c mlx4_core: Reduce number of PD bits to 17 2011-12-13 13:56:05 -05:00
port.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
profile.c
qp.c mlx4_core: resource tracking for HCA resources used by guests 2011-12-13 13:56:07 -05:00
reset.c
resource_tracker.c mlx4_core: resource tracking for HCA resources used by guests 2011-12-13 13:56:07 -05:00
sense.c mlx4_core: Add "native" argument to mlx4_cmd and its callers (where needed) 2011-12-13 13:56:05 -05:00
srq.c mlx4_core: resource tracking for HCA resources used by guests 2011-12-13 13:56:07 -05:00