• Eli Cohen's avatar
    IB/mlx5: Fix binary compatibility with libmlx5 · 78c0f98c
    Eli Cohen authored
    Commit c1be5232 ("Fix micro UAR allocator") broke binary compatibility
    between libmlx5 and mlx5_ib since it defines a different value to the number
    of micro UARs per page, leading to wrong calculation in libmlx5. This patch
    defines struct mlx5_ib_alloc_ucontext_req_v2 as an extension to struct
    mlx5_ib_alloc_ucontext_req.  The extended size is determined in mlx5_ib_alloc_ucontext()
    and in case of old library we use uuarn 0 which works fine -- this is
    acheived due to create_user_qp() falling back from high to medium then to
    low class where low class will return 0.  For new libraries we use the
    more sophisticated allocation algorithm.
    Signed-off-by: default avatarEli Cohen <eli@mellanox.com>
    Reviewed-by: default avatarYann Droneaud <ydroneaud@opteya.com>
    Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
    78c0f98c
qp.c 65.7 KB