mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-3.10-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue fix from Tejun Heo: "A fix for a workqueue_congested() regression that broke fscache" * 'for-3.10-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: workqueue: workqueue_congested() shouldn't translate WORK_CPU_UNBOUND into node number
This commit is contained in:
commit
7fb30d2b60
|
@ -4311,6 +4311,12 @@ bool current_is_workqueue_rescuer(void)
|
|||
* no synchronization around this function and the test result is
|
||||
* unreliable and only useful as advisory hints or for debugging.
|
||||
*
|
||||
* If @cpu is WORK_CPU_UNBOUND, the test is performed on the local CPU.
|
||||
* Note that both per-cpu and unbound workqueues may be associated with
|
||||
* multiple pool_workqueues which have separate congested states. A
|
||||
* workqueue being congested on one CPU doesn't mean the workqueue is also
|
||||
* contested on other CPUs / NUMA nodes.
|
||||
*
|
||||
* RETURNS:
|
||||
* %true if congested, %false otherwise.
|
||||
*/
|
||||
|
@ -4321,6 +4327,9 @@ bool workqueue_congested(int cpu, struct workqueue_struct *wq)
|
|||
|
||||
rcu_read_lock_sched();
|
||||
|
||||
if (cpu == WORK_CPU_UNBOUND)
|
||||
cpu = smp_processor_id();
|
||||
|
||||
if (!(wq->flags & WQ_UNBOUND))
|
||||
pwq = per_cpu_ptr(wq->cpu_pwqs, cpu);
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue