diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2019-02-12 21:12:51 -0700 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2019-02-19 20:52:18 -0700 |
commit | 324e227ea7c952626abafe72db42ae0d70220a6e (patch) | |
tree | 5e0a306788204bfb58ff927c18fb242e81daa1fc /drivers/infiniband/sw/rxe/rxe_task.c | |
parent | RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev (diff) | |
download | linux-dev-324e227ea7c952626abafe72db42ae0d70220a6e.tar.xz linux-dev-324e227ea7c952626abafe72db42ae0d70220a6e.zip |
RDMA/device: Add ib_device_get_by_netdev()
Several drivers need to find the ib_device from a given netdev. rxe needs
this at speed in an unsleepable context, so choose to implement the
translation using a RCU safe hash table.
The hash table can have a many to one mapping. This is intended to support
some future case where multiple IB drivers (ie iWarp and RoCE) connect to
the same netdevs. driver_ids will need to be different to support this.
In the process this makes the struct ib_device and ib_port_data RCU safe
by deferring their kfrees.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/infiniband/sw/rxe/rxe_task.c')
0 files changed, 0 insertions, 0 deletions