• Leon Romanovsky's avatar
    RDMA/restrack: Remove ambiguity in resource track clean logic · 03286030
    Leon Romanovsky authored
    The restrack clean routine had simple, but powerful WARN_ON check
    to see if all resources are cleared prior to releasing device.
    
    The WARN_ON check performed very well, but lack of information
    which device caused to resource leak, the object type and origin
    made debug to be fun and challenging at the same time.
    
    The fact that all dumps were the same because restrack_clean() is
    called in dealloc() didn't help either.
    
    So let's fix spelling error and convert WARN_ON to be more debug
    friendly. The dmesg cut below gives example of how the output
    will look output for the case fixed in patch [1]
    
    [  438.421372] restrack: ------------[ cut here ]------------
    [  438.423448] restrack: BUG: RESTRACK detected leak of resources on mlx5_2
    [  438.425600] restrack: Kernel PD object allocated by mlx5_ib is not freed
    [  438.427753] restrack: Kernel CQ object allocated by mlx5_ib is not freed
    [  438.429660] restrack: ------------[ cut here ]------------
    
    [1] https://patchwork.kernel.org/patch/10298695/
    
    Cc: Michal Kalderon <Michal.Kalderon@cavium.com>
    Cc: Chuck Lever <chuck.lever@oracle.com>
    Reviewed-by: default avatarMark Bloch <markb@mellanox.com>
    Signed-off-by: default avatarLeon Romanovsky <leonro@mellanox.com>
    Signed-off-by: default avatarJason Gunthorpe <jgg@mellanox.com>
    03286030
restrack.c 5.08 KB