diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-04 03:19:21 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-09-04 03:19:21 +0200 |
commit | 9ee52a1633a77961cb7b7fb5bd40be682f8412c7 (patch) | |
tree | 2b45df88a77cca6eaeac414653a852c3905dd514 /kernel/workqueue.c | |
parent | Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/p... (diff) | |
parent | workqueue: Correct/Drop references to gcwq in Documentation (diff) | |
download | linux-9ee52a1633a77961cb7b7fb5bd40be682f8412c7.tar.xz linux-9ee52a1633a77961cb7b7fb5bd40be682f8412c7.zip |
Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue updates from Tejun Heo:
"Nothing interesting. All are doc / comment updates"
* 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
workqueue: Correct/Drop references to gcwq in Documentation
workqueue: Fix manage_workers() RETURNS description
workqueue: Comment correction in file header
workqueue: mark WQ_NON_REENTRANT deprecated
Diffstat (limited to 'kernel/workqueue.c')
-rw-r--r-- | kernel/workqueue.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/kernel/workqueue.c b/kernel/workqueue.c index 5f8ee91abdff..29b79852a845 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -16,9 +16,10 @@ * * This is the generic async execution mechanism. Work items as are * executed in process context. The worker pool is shared and - * automatically managed. There is one worker pool for each CPU and - * one extra for works which are better served by workers which are - * not bound to any specific CPU. + * automatically managed. There are two worker pools for each CPU (one for + * normal work items and the other for high priority ones) and some extra + * pools for workqueues which are not bound to any specific CPU - the + * number of these backing pools is dynamic. * * Please read Documentation/workqueue.txt for details. */ @@ -2033,8 +2034,11 @@ static bool maybe_destroy_workers(struct worker_pool *pool) * multiple times. Does GFP_KERNEL allocations. * * RETURNS: - * spin_lock_irq(pool->lock) which may be released and regrabbed - * multiple times. Does GFP_KERNEL allocations. + * %false if the pool don't need management and the caller can safely start + * processing works, %true indicates that the function released pool->lock + * and reacquired it to perform some management function and that the + * conditions that the caller verified while holding the lock before + * calling the function might no longer be true. */ static bool manage_workers(struct worker *worker) { |