diff options
author | Tejun Heo <tj@kernel.org> | 2013-01-24 14:01:34 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-01-24 14:01:34 -0500 |
commit | 706026c2141113886f61e1ad2738c9a7723ec69c (patch) | |
tree | c61ffa31567cf6b7536a3209503d498f22c6ace6 /kernel/workqueue.c | |
parent | e6e380ed92555533740d5f670640f6f1868132de (diff) |
workqueue: post global_cwq removal cleanups
Remove remaining references to gcwq.
* __next_gcwq_cpu() steals __next_wq_cpu() name. The original
__next_wq_cpu() became __next_cwq_cpu().
* s/for_each_gcwq_cpu/for_each_wq_cpu/
s/for_each_online_gcwq_cpu/for_each_online_wq_cpu/
* s/gcwq_mayday_timeout/pool_mayday_timeout/
* s/gcwq_unbind_fn/wq_unbind_fn/
* Drop references to gcwq in comments.
This patch doesn't introduce any functional changes.
Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r-- | kernel/workqueue.c | 104 |
1 files changed, 52 insertions, 52 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index db8d4b7471ac..577de1073f24 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c | |||
@@ -246,8 +246,8 @@ EXPORT_SYMBOL_GPL(system_freezable_wq); | |||
246 | #define for_each_busy_worker(worker, i, pos, pool) \ | 246 | #define for_each_busy_worker(worker, i, pos, pool) \ |
247 | hash_for_each(pool->busy_hash, i, pos, worker, hentry) | 247 | hash_for_each(pool->busy_hash, i, pos, worker, hentry) |
248 | 248 | ||
249 | static inline int __next_gcwq_cpu(int cpu, const struct cpumask *mask, | 249 | static inline int __next_wq_cpu(int cpu, const struct cpumask *mask, |
250 | unsigned int sw) | 250 | unsigned int sw) |
251 | { | 251 | { |
252 | if (cpu < nr_cpu_ids) { | 252 | if (cpu < nr_cpu_ids) { |
253 | if (sw & 1) { | 253 | if (sw & 1) { |
@@ -261,39 +261,39 @@ static inline int __next_gcwq_cpu(int cpu, const struct cpumask *mask, | |||
261 | return WORK_CPU_NONE; | 261 | return WORK_CPU_NONE; |
262 | } | 262 | } |
263 | 263 | ||
264 | static inline int __next_wq_cpu(int cpu, const struct cpumask *mask, | 264 | static inline int __next_cwq_cpu(int cpu, const struct cpumask *mask, |
265 | struct workqueue_struct *wq) | 265 | struct workqueue_struct *wq) |
266 | { | 266 | { |
267 | return __next_gcwq_cpu(cpu, mask, !(wq->flags & WQ_UNBOUND) ? 1 : 2); | 267 | return __next_wq_cpu(cpu, mask, !(wq->flags & WQ_UNBOUND) ? 1 : 2); |
268 | } | 268 | } |
269 | 269 | ||
270 | /* | 270 | /* |
271 | * CPU iterators | 271 | * CPU iterators |
272 | * | 272 | * |
273 | * An extra gcwq is defined for an invalid cpu number | 273 | * An extra cpu number is defined using an invalid cpu number |
274 | * (WORK_CPU_UNBOUND) to host workqueues which are not bound to any | 274 | * (WORK_CPU_UNBOUND) to host workqueues which are not bound to any |
275 | * specific CPU. The following iterators are similar to | 275 | * specific CPU. The following iterators are similar to for_each_*_cpu() |
276 | * for_each_*_cpu() iterators but also considers the unbound gcwq. | 276 | * iterators but also considers the unbound CPU. |
277 | * | 277 | * |
278 | * for_each_gcwq_cpu() : possible CPUs + WORK_CPU_UNBOUND | 278 | * for_each_wq_cpu() : possible CPUs + WORK_CPU_UNBOUND |
279 | * for_each_online_gcwq_cpu() : online CPUs + WORK_CPU_UNBOUND | 279 | * for_each_online_wq_cpu() : online CPUs + WORK_CPU_UNBOUND |
280 | * for_each_cwq_cpu() : possible CPUs for bound workqueues, | 280 | * for_each_cwq_cpu() : possible CPUs for bound workqueues, |
281 | * WORK_CPU_UNBOUND for unbound workqueues | 281 | * WORK_CPU_UNBOUND for unbound workqueues |
282 | */ | 282 | */ |
283 | #define for_each_gcwq_cpu(cpu) \ | 283 | #define for_each_wq_cpu(cpu) \ |
284 | for ((cpu) = __next_gcwq_cpu(-1, cpu_possible_mask, 3); \ | 284 | for ((cpu) = __next_wq_cpu(-1, cpu_possible_mask, 3); \ |
285 | (cpu) < WORK_CPU_NONE; \ | 285 | (cpu) < WORK_CPU_NONE; \ |
286 | (cpu) = __next_gcwq_cpu((cpu), cpu_possible_mask, 3)) | 286 | (cpu) = __next_wq_cpu((cpu), cpu_possible_mask, 3)) |
287 | 287 | ||
288 | #define for_each_online_gcwq_cpu(cpu) \ | 288 | #define for_each_online_wq_cpu(cpu) \ |
289 | for ((cpu) = __next_gcwq_cpu(-1, cpu_online_mask, 3); \ | 289 | for ((cpu) = __next_wq_cpu(-1, cpu_online_mask, 3); \ |
290 | (cpu) < WORK_CPU_NONE; \ | 290 | (cpu) < WORK_CPU_NONE; \ |
291 | (cpu) = __next_gcwq_cpu((cpu), cpu_online_mask, 3)) | 291 | (cpu) = __next_wq_cpu((cpu), cpu_online_mask, 3)) |
292 | 292 | ||
293 | #define for_each_cwq_cpu(cpu, wq) \ | 293 | #define for_each_cwq_cpu(cpu, wq) \ |
294 | for ((cpu) = __next_wq_cpu(-1, cpu_possible_mask, (wq)); \ | 294 | for ((cpu) = __next_cwq_cpu(-1, cpu_possible_mask, (wq)); \ |
295 | (cpu) < WORK_CPU_NONE; \ | 295 | (cpu) < WORK_CPU_NONE; \ |
296 | (cpu) = __next_wq_cpu((cpu), cpu_possible_mask, (wq))) | 296 | (cpu) = __next_cwq_cpu((cpu), cpu_possible_mask, (wq))) |
297 | 297 | ||
298 | #ifdef CONFIG_DEBUG_OBJECTS_WORK | 298 | #ifdef CONFIG_DEBUG_OBJECTS_WORK |
299 | 299 | ||
@@ -655,7 +655,7 @@ static bool __need_more_worker(struct worker_pool *pool) | |||
655 | * running workers. | 655 | * running workers. |
656 | * | 656 | * |
657 | * Note that, because unbound workers never contribute to nr_running, this | 657 | * Note that, because unbound workers never contribute to nr_running, this |
658 | * function will always return %true for unbound gcwq as long as the | 658 | * function will always return %true for unbound pools as long as the |
659 | * worklist isn't empty. | 659 | * worklist isn't empty. |
660 | */ | 660 | */ |
661 | static bool need_more_worker(struct worker_pool *pool) | 661 | static bool need_more_worker(struct worker_pool *pool) |
@@ -1129,14 +1129,14 @@ fail: | |||
1129 | } | 1129 | } |
1130 | 1130 | ||
1131 | /** | 1131 | /** |
1132 | * insert_work - insert a work into gcwq | 1132 | * insert_work - insert a work into a pool |
1133 | * @cwq: cwq @work belongs to | 1133 | * @cwq: cwq @work belongs to |
1134 | * @work: work to insert | 1134 | * @work: work to insert |
1135 | * @head: insertion point | 1135 | * @head: insertion point |
1136 | * @extra_flags: extra WORK_STRUCT_* flags to set | 1136 | * @extra_flags: extra WORK_STRUCT_* flags to set |
1137 | * | 1137 | * |
1138 | * Insert @work which belongs to @cwq into @gcwq after @head. | 1138 | * Insert @work which belongs to @cwq after @head. @extra_flags is or'd to |
1139 | * @extra_flags is or'd to work_struct flags. | 1139 | * work_struct flags. |
1140 | * | 1140 | * |
1141 | * CONTEXT: | 1141 | * CONTEXT: |
1142 | * spin_lock_irq(pool->lock). | 1142 | * spin_lock_irq(pool->lock). |
@@ -1179,7 +1179,7 @@ static bool is_chained_work(struct workqueue_struct *wq) | |||
1179 | unsigned long flags; | 1179 | unsigned long flags; |
1180 | unsigned int cpu; | 1180 | unsigned int cpu; |
1181 | 1181 | ||
1182 | for_each_gcwq_cpu(cpu) { | 1182 | for_each_wq_cpu(cpu) { |
1183 | struct cpu_workqueue_struct *cwq = get_cwq(cpu, wq); | 1183 | struct cpu_workqueue_struct *cwq = get_cwq(cpu, wq); |
1184 | struct worker_pool *pool = cwq->pool; | 1184 | struct worker_pool *pool = cwq->pool; |
1185 | struct worker *worker; | 1185 | struct worker *worker; |
@@ -1533,7 +1533,7 @@ static void worker_enter_idle(struct worker *worker) | |||
1533 | mod_timer(&pool->idle_timer, jiffies + IDLE_WORKER_TIMEOUT); | 1533 | mod_timer(&pool->idle_timer, jiffies + IDLE_WORKER_TIMEOUT); |
1534 | 1534 | ||
1535 | /* | 1535 | /* |
1536 | * Sanity check nr_running. Because gcwq_unbind_fn() releases | 1536 | * Sanity check nr_running. Because wq_unbind_fn() releases |
1537 | * pool->lock between setting %WORKER_UNBOUND and zapping | 1537 | * pool->lock between setting %WORKER_UNBOUND and zapping |
1538 | * nr_running, the warning may trigger spuriously. Check iff | 1538 | * nr_running, the warning may trigger spuriously. Check iff |
1539 | * unbind is not in progress. | 1539 | * unbind is not in progress. |
@@ -1563,7 +1563,7 @@ static void worker_leave_idle(struct worker *worker) | |||
1563 | } | 1563 | } |
1564 | 1564 | ||
1565 | /** | 1565 | /** |
1566 | * worker_maybe_bind_and_lock - bind worker to its cpu if possible and lock gcwq | 1566 | * worker_maybe_bind_and_lock - bind worker to its cpu if possible and lock pool |
1567 | * @worker: self | 1567 | * @worker: self |
1568 | * | 1568 | * |
1569 | * Works which are scheduled while the cpu is online must at least be | 1569 | * Works which are scheduled while the cpu is online must at least be |
@@ -1575,10 +1575,10 @@ static void worker_leave_idle(struct worker *worker) | |||
1575 | * themselves to the target cpu and may race with cpu going down or | 1575 | * themselves to the target cpu and may race with cpu going down or |
1576 | * coming online. kthread_bind() can't be used because it may put the | 1576 | * coming online. kthread_bind() can't be used because it may put the |
1577 | * worker to already dead cpu and set_cpus_allowed_ptr() can't be used | 1577 | * worker to already dead cpu and set_cpus_allowed_ptr() can't be used |
1578 | * verbatim as it's best effort and blocking and gcwq may be | 1578 | * verbatim as it's best effort and blocking and pool may be |
1579 | * [dis]associated in the meantime. | 1579 | * [dis]associated in the meantime. |
1580 | * | 1580 | * |
1581 | * This function tries set_cpus_allowed() and locks gcwq and verifies the | 1581 | * This function tries set_cpus_allowed() and locks pool and verifies the |
1582 | * binding against %POOL_DISASSOCIATED which is set during | 1582 | * binding against %POOL_DISASSOCIATED which is set during |
1583 | * %CPU_DOWN_PREPARE and cleared during %CPU_ONLINE, so if the worker | 1583 | * %CPU_DOWN_PREPARE and cleared during %CPU_ONLINE, so if the worker |
1584 | * enters idle state or fetches works without dropping lock, it can | 1584 | * enters idle state or fetches works without dropping lock, it can |
@@ -1589,7 +1589,7 @@ static void worker_leave_idle(struct worker *worker) | |||
1589 | * held. | 1589 | * held. |
1590 | * | 1590 | * |
1591 | * RETURNS: | 1591 | * RETURNS: |
1592 | * %true if the associated gcwq is online (@worker is successfully | 1592 | * %true if the associated pool is online (@worker is successfully |
1593 | * bound), %false if offline. | 1593 | * bound), %false if offline. |
1594 | */ | 1594 | */ |
1595 | static bool worker_maybe_bind_and_lock(struct worker *worker) | 1595 | static bool worker_maybe_bind_and_lock(struct worker *worker) |
@@ -1826,7 +1826,7 @@ fail: | |||
1826 | * start_worker - start a newly created worker | 1826 | * start_worker - start a newly created worker |
1827 | * @worker: worker to start | 1827 | * @worker: worker to start |
1828 | * | 1828 | * |
1829 | * Make the gcwq aware of @worker and start it. | 1829 | * Make the pool aware of @worker and start it. |
1830 | * | 1830 | * |
1831 | * CONTEXT: | 1831 | * CONTEXT: |
1832 | * spin_lock_irq(pool->lock). | 1832 | * spin_lock_irq(pool->lock). |
@@ -1843,7 +1843,7 @@ static void start_worker(struct worker *worker) | |||
1843 | * destroy_worker - destroy a workqueue worker | 1843 | * destroy_worker - destroy a workqueue worker |
1844 | * @worker: worker to be destroyed | 1844 | * @worker: worker to be destroyed |
1845 | * | 1845 | * |
1846 | * Destroy @worker and adjust @gcwq stats accordingly. | 1846 | * Destroy @worker and adjust @pool stats accordingly. |
1847 | * | 1847 | * |
1848 | * CONTEXT: | 1848 | * CONTEXT: |
1849 | * spin_lock_irq(pool->lock) which is released and regrabbed. | 1849 | * spin_lock_irq(pool->lock) which is released and regrabbed. |
@@ -1919,7 +1919,7 @@ static bool send_mayday(struct work_struct *work) | |||
1919 | return true; | 1919 | return true; |
1920 | } | 1920 | } |
1921 | 1921 | ||
1922 | static void gcwq_mayday_timeout(unsigned long __pool) | 1922 | static void pool_mayday_timeout(unsigned long __pool) |
1923 | { | 1923 | { |
1924 | struct worker_pool *pool = (void *)__pool; | 1924 | struct worker_pool *pool = (void *)__pool; |
1925 | struct work_struct *work; | 1925 | struct work_struct *work; |
@@ -2047,9 +2047,9 @@ static bool maybe_destroy_workers(struct worker_pool *pool) | |||
2047 | * manage_workers - manage worker pool | 2047 | * manage_workers - manage worker pool |
2048 | * @worker: self | 2048 | * @worker: self |
2049 | * | 2049 | * |
2050 | * Assume the manager role and manage gcwq worker pool @worker belongs | 2050 | * Assume the manager role and manage the worker pool @worker belongs |
2051 | * to. At any given time, there can be only zero or one manager per | 2051 | * to. At any given time, there can be only zero or one manager per |
2052 | * gcwq. The exclusion is handled automatically by this function. | 2052 | * pool. The exclusion is handled automatically by this function. |
2053 | * | 2053 | * |
2054 | * The caller can safely start processing works on false return. On | 2054 | * The caller can safely start processing works on false return. On |
2055 | * true return, it's guaranteed that need_to_create_worker() is false | 2055 | * true return, it's guaranteed that need_to_create_worker() is false |
@@ -2092,11 +2092,11 @@ static bool manage_workers(struct worker *worker) | |||
2092 | * CPU hotplug could have happened while we were waiting | 2092 | * CPU hotplug could have happened while we were waiting |
2093 | * for assoc_mutex. Hotplug itself can't handle us | 2093 | * for assoc_mutex. Hotplug itself can't handle us |
2094 | * because manager isn't either on idle or busy list, and | 2094 | * because manager isn't either on idle or busy list, and |
2095 | * @gcwq's state and ours could have deviated. | 2095 | * @pool's state and ours could have deviated. |
2096 | * | 2096 | * |
2097 | * As hotplug is now excluded via assoc_mutex, we can | 2097 | * As hotplug is now excluded via assoc_mutex, we can |
2098 | * simply try to bind. It will succeed or fail depending | 2098 | * simply try to bind. It will succeed or fail depending |
2099 | * on @gcwq's current state. Try it and adjust | 2099 | * on @pool's current state. Try it and adjust |
2100 | * %WORKER_UNBOUND accordingly. | 2100 | * %WORKER_UNBOUND accordingly. |
2101 | */ | 2101 | */ |
2102 | if (worker_maybe_bind_and_lock(worker)) | 2102 | if (worker_maybe_bind_and_lock(worker)) |
@@ -2271,8 +2271,8 @@ static void process_scheduled_works(struct worker *worker) | |||
2271 | * worker_thread - the worker thread function | 2271 | * worker_thread - the worker thread function |
2272 | * @__worker: self | 2272 | * @__worker: self |
2273 | * | 2273 | * |
2274 | * The gcwq worker thread function. There's a single dynamic pool of | 2274 | * The worker thread function. There are NR_CPU_WORKER_POOLS dynamic pools |
2275 | * these per each cpu. These workers process all works regardless of | 2275 | * of these per each cpu. These workers process all works regardless of |
2276 | * their specific target workqueue. The only exception is works which | 2276 | * their specific target workqueue. The only exception is works which |
2277 | * belong to workqueues with a rescuer which will be explained in | 2277 | * belong to workqueues with a rescuer which will be explained in |
2278 | * rescuer_thread(). | 2278 | * rescuer_thread(). |
@@ -2368,14 +2368,14 @@ sleep: | |||
2368 | * Workqueue rescuer thread function. There's one rescuer for each | 2368 | * Workqueue rescuer thread function. There's one rescuer for each |
2369 | * workqueue which has WQ_RESCUER set. | 2369 | * workqueue which has WQ_RESCUER set. |
2370 | * | 2370 | * |
2371 | * Regular work processing on a gcwq may block trying to create a new | 2371 | * Regular work processing on a pool may block trying to create a new |
2372 | * worker which uses GFP_KERNEL allocation which has slight chance of | 2372 | * worker which uses GFP_KERNEL allocation which has slight chance of |
2373 | * developing into deadlock if some works currently on the same queue | 2373 | * developing into deadlock if some works currently on the same queue |
2374 | * need to be processed to satisfy the GFP_KERNEL allocation. This is | 2374 | * need to be processed to satisfy the GFP_KERNEL allocation. This is |
2375 | * the problem rescuer solves. | 2375 | * the problem rescuer solves. |
2376 | * | 2376 | * |
2377 | * When such condition is possible, the gcwq summons rescuers of all | 2377 | * When such condition is possible, the pool summons rescuers of all |
2378 | * workqueues which have works queued on the gcwq and let them process | 2378 | * workqueues which have works queued on the pool and let them process |
2379 | * those works so that forward progress can be guaranteed. | 2379 | * those works so that forward progress can be guaranteed. |
2380 | * | 2380 | * |
2381 | * This should happen rarely. | 2381 | * This should happen rarely. |
@@ -3476,7 +3476,7 @@ EXPORT_SYMBOL_GPL(work_busy); | |||
3476 | * | 3476 | * |
3477 | * There are two challenges in supporting CPU hotplug. Firstly, there | 3477 | * There are two challenges in supporting CPU hotplug. Firstly, there |
3478 | * are a lot of assumptions on strong associations among work, cwq and | 3478 | * are a lot of assumptions on strong associations among work, cwq and |
3479 | * gcwq which make migrating pending and scheduled works very | 3479 | * pool which make migrating pending and scheduled works very |
3480 | * difficult to implement without impacting hot paths. Secondly, | 3480 | * difficult to implement without impacting hot paths. Secondly, |
3481 | * worker pools serve mix of short, long and very long running works making | 3481 | * worker pools serve mix of short, long and very long running works making |
3482 | * blocked draining impractical. | 3482 | * blocked draining impractical. |
@@ -3486,7 +3486,7 @@ EXPORT_SYMBOL_GPL(work_busy); | |||
3486 | * cpu comes back online. | 3486 | * cpu comes back online. |
3487 | */ | 3487 | */ |
3488 | 3488 | ||
3489 | static void gcwq_unbind_fn(struct work_struct *work) | 3489 | static void wq_unbind_fn(struct work_struct *work) |
3490 | { | 3490 | { |
3491 | int cpu = smp_processor_id(); | 3491 | int cpu = smp_processor_id(); |
3492 | struct worker_pool *pool; | 3492 | struct worker_pool *pool; |
@@ -3601,7 +3601,7 @@ static int __cpuinit workqueue_cpu_down_callback(struct notifier_block *nfb, | |||
3601 | switch (action & ~CPU_TASKS_FROZEN) { | 3601 | switch (action & ~CPU_TASKS_FROZEN) { |
3602 | case CPU_DOWN_PREPARE: | 3602 | case CPU_DOWN_PREPARE: |
3603 | /* unbinding should happen on the local CPU */ | 3603 | /* unbinding should happen on the local CPU */ |
3604 | INIT_WORK_ONSTACK(&unbind_work, gcwq_unbind_fn); | 3604 | INIT_WORK_ONSTACK(&unbind_work, wq_unbind_fn); |
3605 | queue_work_on(cpu, system_highpri_wq, &unbind_work); | 3605 | queue_work_on(cpu, system_highpri_wq, &unbind_work); |
3606 | flush_work(&unbind_work); | 3606 | flush_work(&unbind_work); |
3607 | break; | 3607 | break; |
@@ -3654,7 +3654,7 @@ EXPORT_SYMBOL_GPL(work_on_cpu); | |||
3654 | * | 3654 | * |
3655 | * Start freezing workqueues. After this function returns, all freezable | 3655 | * Start freezing workqueues. After this function returns, all freezable |
3656 | * workqueues will queue new works to their frozen_works list instead of | 3656 | * workqueues will queue new works to their frozen_works list instead of |
3657 | * gcwq->worklist. | 3657 | * pool->worklist. |
3658 | * | 3658 | * |
3659 | * CONTEXT: | 3659 | * CONTEXT: |
3660 | * Grabs and releases workqueue_lock and pool->lock's. | 3660 | * Grabs and releases workqueue_lock and pool->lock's. |
@@ -3668,7 +3668,7 @@ void freeze_workqueues_begin(void) | |||
3668 | BUG_ON(workqueue_freezing); | 3668 | BUG_ON(workqueue_freezing); |
3669 | workqueue_freezing = true; | 3669 | workqueue_freezing = true; |
3670 | 3670 | ||
3671 | for_each_gcwq_cpu(cpu) { | 3671 | for_each_wq_cpu(cpu) { |
3672 | struct worker_pool *pool; | 3672 | struct worker_pool *pool; |
3673 | struct workqueue_struct *wq; | 3673 | struct workqueue_struct *wq; |
3674 | 3674 | ||
@@ -3715,7 +3715,7 @@ bool freeze_workqueues_busy(void) | |||
3715 | 3715 | ||
3716 | BUG_ON(!workqueue_freezing); | 3716 | BUG_ON(!workqueue_freezing); |
3717 | 3717 | ||
3718 | for_each_gcwq_cpu(cpu) { | 3718 | for_each_wq_cpu(cpu) { |
3719 | struct workqueue_struct *wq; | 3719 | struct workqueue_struct *wq; |
3720 | /* | 3720 | /* |
3721 | * nr_active is monotonically decreasing. It's safe | 3721 | * nr_active is monotonically decreasing. It's safe |
@@ -3743,7 +3743,7 @@ out_unlock: | |||
3743 | * thaw_workqueues - thaw workqueues | 3743 | * thaw_workqueues - thaw workqueues |
3744 | * | 3744 | * |
3745 | * Thaw workqueues. Normal queueing is restored and all collected | 3745 | * Thaw workqueues. Normal queueing is restored and all collected |
3746 | * frozen works are transferred to their respective gcwq worklists. | 3746 | * frozen works are transferred to their respective pool worklists. |
3747 | * | 3747 | * |
3748 | * CONTEXT: | 3748 | * CONTEXT: |
3749 | * Grabs and releases workqueue_lock and pool->lock's. | 3749 | * Grabs and releases workqueue_lock and pool->lock's. |
@@ -3757,7 +3757,7 @@ void thaw_workqueues(void) | |||
3757 | if (!workqueue_freezing) | 3757 | if (!workqueue_freezing) |
3758 | goto out_unlock; | 3758 | goto out_unlock; |
3759 | 3759 | ||
3760 | for_each_gcwq_cpu(cpu) { | 3760 | for_each_wq_cpu(cpu) { |
3761 | struct worker_pool *pool; | 3761 | struct worker_pool *pool; |
3762 | struct workqueue_struct *wq; | 3762 | struct workqueue_struct *wq; |
3763 | 3763 | ||
@@ -3801,8 +3801,8 @@ static int __init init_workqueues(void) | |||
3801 | cpu_notifier(workqueue_cpu_up_callback, CPU_PRI_WORKQUEUE_UP); | 3801 | cpu_notifier(workqueue_cpu_up_callback, CPU_PRI_WORKQUEUE_UP); |
3802 | hotcpu_notifier(workqueue_cpu_down_callback, CPU_PRI_WORKQUEUE_DOWN); | 3802 | hotcpu_notifier(workqueue_cpu_down_callback, CPU_PRI_WORKQUEUE_DOWN); |
3803 | 3803 | ||
3804 | /* initialize gcwqs */ | 3804 | /* initialize CPU pools */ |
3805 | for_each_gcwq_cpu(cpu) { | 3805 | for_each_wq_cpu(cpu) { |
3806 | struct worker_pool *pool; | 3806 | struct worker_pool *pool; |
3807 | 3807 | ||
3808 | for_each_std_worker_pool(pool, cpu) { | 3808 | for_each_std_worker_pool(pool, cpu) { |
@@ -3817,7 +3817,7 @@ static int __init init_workqueues(void) | |||
3817 | pool->idle_timer.function = idle_worker_timeout; | 3817 | pool->idle_timer.function = idle_worker_timeout; |
3818 | pool->idle_timer.data = (unsigned long)pool; | 3818 | pool->idle_timer.data = (unsigned long)pool; |
3819 | 3819 | ||
3820 | setup_timer(&pool->mayday_timer, gcwq_mayday_timeout, | 3820 | setup_timer(&pool->mayday_timer, pool_mayday_timeout, |
3821 | (unsigned long)pool); | 3821 | (unsigned long)pool); |
3822 | 3822 | ||
3823 | mutex_init(&pool->assoc_mutex); | 3823 | mutex_init(&pool->assoc_mutex); |
@@ -3829,7 +3829,7 @@ static int __init init_workqueues(void) | |||
3829 | } | 3829 | } |
3830 | 3830 | ||
3831 | /* create the initial worker */ | 3831 | /* create the initial worker */ |
3832 | for_each_online_gcwq_cpu(cpu) { | 3832 | for_each_online_wq_cpu(cpu) { |
3833 | struct worker_pool *pool; | 3833 | struct worker_pool *pool; |
3834 | 3834 | ||
3835 | for_each_std_worker_pool(pool, cpu) { | 3835 | for_each_std_worker_pool(pool, cpu) { |