Revision ff497452636f4687e517964817b7e2bd99f4b44b authored by Linus Torvalds on 30 August 2013, 00:02:48 UTC, committed by Linus Torvalds on 30 August 2013, 00:02:48 UTC
Pull workqueue fix from Tejun Heo: "This contains one fix which could lead to system-wide lockup on !PREEMPT kernels. It's very late in the cycle but this definitely is a -stable material. The problem is that workqueue worker tasks may process unlimited number of work items back-to-back without every yielding inbetween. This usually isn't noticeable but a work item which re-queues itself waiting for someone else to do something can deadlock with stop_machine. stop_machine will ensure nothing else happens on all other cpus and the requeueing work item will reqeueue itself indefinitely without ever yielding and thus preventing the CPU from entering stop_machine. Kudos to Jamie Liu for spotting and diagnosing the problem. This can be trivially fixed by adding cond_resched() after processing each work item" * 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: cond_resched() after processing each work item
File | Mode | Size |
---|---|---|
check-all.sh | -rw-r--r-- | 434 bytes |
rt-tester.py | -rw-r--r-- | 5.2 KB |
t2-l1-2rt-sameprio.tst | -rw-r--r-- | 1.5 KB |
t2-l1-pi.tst | -rw-r--r-- | 1.2 KB |
t2-l1-signal.tst | -rw-r--r-- | 1.2 KB |
t2-l2-2rt-deadlock.tst | -rw-r--r-- | 1.3 KB |
t3-l1-pi-1rt.tst | -rw-r--r-- | 1.4 KB |
t3-l1-pi-2rt.tst | -rw-r--r-- | 1.4 KB |
t3-l1-pi-3rt.tst | -rw-r--r-- | 1.4 KB |
t3-l1-pi-signal.tst | -rw-r--r-- | 1.5 KB |
t3-l1-pi-steal.tst | -rw-r--r-- | 1.6 KB |
t3-l2-pi.tst | -rw-r--r-- | 1.4 KB |
t4-l2-pi-deboost.tst | -rw-r--r-- | 2.0 KB |
t5-l4-pi-boost-deboost-setsched.tst | -rw-r--r-- | 2.9 KB |
t5-l4-pi-boost-deboost.tst | -rw-r--r-- | 2.2 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...