1. 21 9月, 2012 15 次提交
  2. 18 9月, 2012 1 次提交
  3. 14 9月, 2012 4 次提交
  4. 13 9月, 2012 19 次提交
  5. 12 9月, 2012 1 次提交
    • L
      Merge branch 'for-3.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 0bd1189e
      Linus Torvalds 提交于
      Pull workqueue fixes from Tejun Heo:
       "It's later than I'd like but well the timing just didn't work out this
        time.
      
        There are three bug fixes.  One from before 3.6-rc1 and two from the
        new CPU hotplug code.  Kudos to Lai for discovering all of them and
        providing fixes.
      
         * Atomicity bug when clearing a flag and setting another.  The two
           operation should have been atomic but wasn't.  This bug has existed
           for a long time but is unlikely to have actually happened.  Fix is
           safe.  Marked for -stable.
      
         * If CPU hotplug cycles happen back-to-back before workers finish the
           previous cycle, the states could get out of sync and it could get
           stuck.  Fixed by waiting for workers to complete before finishing
           hotplug cycle.
      
         * While CPU hotplug is in progress, idle workers could be depleted
           which can then lead to deadlock.  I think both happening together
           is highly unlikely but still better to fix it and the fix isn't too
           scary.
      
        There's another workqueue related regression which reported a few days
        ago:
      
          https://bugzilla.kernel.org/show_bug.cgi?id=47301
      
        It's a bit of head scratcher but there is a semi-reliable reproduce
        case, so I'm hoping to resolve it soonish."
      
      * 'for-3.6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: fix possible idle worker depletion across CPU hotplug
        workqueue: restore POOL_MANAGING_WORKERS
        workqueue: fix possible deadlock in idle worker rebinding
        workqueue: move WORKER_REBIND clearing in rebind_workers() to the end of the function
        workqueue: UNBOUND -> REBIND morphing in rebind_workers() should be atomic
      0bd1189e