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
You need to sign in or sign up before continuing.
  • linux
  • kernel
  • workqueue.c
Find file BlameHistoryPermalink
  • Tejun Heo's avatar
    workqueue: fix deadlock in worker_maybe_bind_and_lock() · 5035b20f
    Tejun Heo authored Apr 29, 2011
    If a rescuer and stop_machine() bringing down a CPU race with each
    other, they may deadlock on non-preemptive kernel.  The CPU won't
    accept a new task, so the rescuer can't migrate to the target CPU,
    while stop_machine() can't proceed because the rescuer is holding one
    of the CPU retrying migration.  GCWQ_DISASSOCIATED is never cleared
    and worker_maybe_bind_and_lock() retries indefinitely.
    
    This problem can be reproduced semi reliably while the system is
    entering suspend.
    
     http://thread.gmane.org/gmane.linux.kernel/1122051
    
    
    
    A lot of kudos to Thilo-Alexander for reporting this tricky issue and
    painstaking testing.
    
    stable: This affects all kernels with cmwq, so all kernels since and
            including v2.6.36 need this fix.
    
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Reported-by: default avatarThilo-Alexander Ginkel <thilo@ginkel.com>
    Tested-by: default avatarThilo-Alexander Ginkel <thilo@ginkel.com>
    Cc: stable@kernel.org
    5035b20f
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7