Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • L linux-rt
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • David Runge
  • linux-rt
  • Repository
Switch branch/tag
  • linux-rt
  • kernel
  • locking
  • rtmutex.c
Find file BlameHistoryPermalink
  • Peter Zijlstra's avatar
    locking/rtmutex: Return success on deadlock for ww_mutex waiters · a055fcc1
    Peter Zijlstra authored Aug 26, 2021
    
    
    ww_mutexes can legitimately cause a deadlock situation in the lock graph
    which is resolved afterwards by the wait/wound mechanics. The rtmutex chain
    walk can detect such a deadlock and returns EDEADLK which in turn skips the
    wait/wound mechanism and returns EDEADLK to the caller. That's wrong
    because both lock chains might get EDEADLK or the wrong waiter would back
    out.
    
    Detect that situation and return 'success' in case that the waiter which
    initiated the chain walk is a ww_mutex with context. This allows the
    wait/wound mechanics to resolve the situation according to the rules.
    
    [ tglx: Split it apart and added changelog ]
    Reported-by: default avatarSebastian Siewior <bigeasy@linutronix.de>
    Fixes: add46132
    
     ("locking/rtmutex: Extend the rtmutex core to support ww_mutex")
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Link: https://lore.kernel.org/r/YSeWjCHoK4v5OcOt@hirez.programming.kicks-ass.net
    a055fcc1

Replace rtmutex.c

Attach a file by drag & drop or click to upload


Cancel
GitLab will create a branch in your fork and start a merge request.