• Leon Romanovsky's avatar
    devlink: Count struct devlink consumers · 437ebfd9
    Leon Romanovsky authored
    The struct devlink itself is protected by internal lock and doesn't
    need global lock during operation. That global lock is used to protect
    addition/removal new devlink instances from the global list in use by
    all devlink consumers in the system.
    
    The future conversion of linked list to be xarray will allow us to
    actually delete that lock, but first we need to count all struct devlink
    users.
    
    The reference counting provides us a way to ensure that no new user
    space commands success to grab devlink instance which is going to be
    destroyed makes it is safe to access it without lock.
    Signed-off-by: default avatarLeon Romanovsky <leonro@nvidia.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    437ebfd9
devlink.c 297 KB