• Jason Gunthorpe's avatar
    RDMA/devices: Use xarray to store the client_data · 0df91bb6
    Jason Gunthorpe authored
    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: default avatarJason Gunthorpe <jgg@mellanox.com>
    0df91bb6
ib_verbs.h 123 KB