OSDN Git Service

RDMA: Hold the sgid_attr inside the struct ib_ah/qp
authorJason Gunthorpe <jgg@mellanox.com>
Wed, 13 Jun 2018 07:22:08 +0000 (10:22 +0300)
committerJason Gunthorpe <jgg@mellanox.com>
Mon, 18 Jun 2018 17:11:27 +0000 (11:11 -0600)
commit1a1f460ff151710289c2f8d4badd8b603b87d610
treeb0b268ecfb677f28d4eaaa6eb8f9198f1c199122
parent7492052a186b11be024800eabedef25dcb882613
RDMA: Hold the sgid_attr inside the struct ib_ah/qp

If the AH has a GRH then hold a reference to the sgid_attr inside the
common struct.

If the QP is modified with an AV that includes a GRH then also hold a
reference to the sgid_attr inside the common struct.

This informs the cache that the sgid_index is in-use so long as the AH or
QP using it exists.

This also means that all drivers can access the sgid_attr directly from
the ah_attr instead of querying the cache during their UD post-send paths.

Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
drivers/infiniband/core/verbs.c
include/rdma/ib_verbs.h