• E
    IB/mlx5: Fix binary compatibility with libmlx5 · 78c0f98c
    Eli Cohen 提交于
    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: NEli Cohen <eli@mellanox.com>
    Reviewed-by: NYann Droneaud <ydroneaud@opteya.com>
    Signed-off-by: NRoland Dreier <roland@purestorage.com>
    78c0f98c
main.c 38.1 KB