Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • L linux
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Kirill Smelkov
  • linux
  • Repository
  • linux
  • include
  • net
  • devlink.h
Find file BlameHistoryPermalink
  • Moshe Shemesh's avatar
    devlink: Change devlink health locking mechanism · b587bdaf
    Moshe Shemesh authored Apr 29, 2019
    
    
    The devlink health reporters create/destroy and user commands currently
    use the devlink->lock as a locking mechanism. Different reporters have
    different rules in the driver and are being created/destroyed during
    different stages of driver load/unload/running. So during execution of a
    reporter recover the flow can go through another reporter's destroy and
    create. Such flow leads to deadlock trying to lock a mutex already
    held.
    
    With the new locking mechanism the different reporters share mutex lock
    only to protect access to shared reporters list.
    Added refcount per reporter, to protect the reporters from destroy while
    being used.
    
    Signed-off-by: default avatarMoshe Shemesh <moshe@mellanox.com>
    Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
    Acked-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b587bdaf
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7