mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 16:54:21 +00:00 
			
		
		
		
	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
					
				
					 1 changed files with 9 additions and 0 deletions
				
			
		|  | @ -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…
	
	Add table
		
		Reference in a new issue
	
	 Linus Torvalds
						Linus Torvalds