From: Linus Torvalds Date: Fri, 30 Aug 2013 00:02:48 +0000 (-0700) Subject: Merge branch 'for-3.11-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq X-Git-Tag: firefly_0821_release~176^2~5494 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=ff497452636f4687e517964817b7e2bd99f4b44b;p=firefly-linux-kernel-4.4.55.git Merge branch 'for-3.11-fixes' of git://git./linux/kernel/git/tj/wq 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 --- ff497452636f4687e517964817b7e2bd99f4b44b