summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJason Gunthorpe <jgg@mellanox.com>2019-02-06 22:41:53 -0700
committerJason Gunthorpe <jgg@mellanox.com>2019-02-08 16:56:45 -0700
commit0df91bb67334eebaf73d4ba32567e16d55f4f116 (patch)
tree6c890dc02a59fee934a95904dd03f4acdd4cf552 /arch
parente59178d895afa29b671323f8265a1e50afe989e5 (diff)
downloadlinux-stable-0df91bb67334eebaf73d4ba32567e16d55f4f116.tar.gz
linux-stable-0df91bb67334eebaf73d4ba32567e16d55f4f116.tar.bz2
linux-stable-0df91bb67334eebaf73d4ba32567e16d55f4f116.zip
RDMA/devices: Use xarray to store the client_data
Now that we have a small ID for each client we can use xarray instead of linearly searching linked lists for client data. This will give much faster and scalable client data lookup, and will lets us revise the locking scheme. Since xarray can store 'going_down' using a mark just entirely eliminate the struct ib_client_data and directly store the client_data value in the xarray. However this does require a special iterator as we must still iterate over any NULL client_data values. Also eliminate the client_data_lock in favour of internal xarray locking. Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'arch')
0 files changed, 0 insertions, 0 deletions