lkml.org 
[lkml]   [2012]   [Sep]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH 11/11 V5] workqueue: remove manager_mutex
Date
no one except manage_workers() use it. remove it.
manage_workers() will use ->manager instead.

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
---
kernel/workqueue.c | 7 ++-----
1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 5fb712a..eee3fad 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -163,7 +163,6 @@ struct worker_pool {
struct timer_list mayday_timer; /* L: SOS timer for workers */

struct worker *manager; /* L: manager worker */
- struct mutex manager_mutex; /* mutex manager should hold */
struct ida worker_ida; /* L: for worker IDs */
};

@@ -678,7 +677,7 @@ static bool need_to_manage_workers(struct worker_pool *pool)
/* Do we have too many workers and should some go away? */
static bool too_many_workers(struct worker_pool *pool)
{
- bool managing = mutex_is_locked(&pool->manager_mutex);
+ bool managing = !!pool->manager;
int nr_idle = pool->nr_idle + managing; /* manager is considered idle */
int nr_busy = pool->nr_workers - nr_idle;

@@ -2104,7 +2103,7 @@ static bool manage_workers(struct worker *worker)
struct worker_pool *pool = worker->pool;
bool ret = false;

- if (!mutex_trylock(&pool->manager_mutex))
+ if (pool->manager)
return ret;

pool->manager = worker;
@@ -2118,7 +2117,6 @@ static bool manage_workers(struct worker *worker)
ret |= maybe_create_worker(pool);
ret |= maybe_rebind_manager(worker);

- mutex_unlock(&pool->manager_mutex);
pool->manager = NULL;

return ret;
@@ -3785,7 +3783,6 @@ static int __init init_workqueues(void)
(unsigned long)pool);

pool->manager = NULL;
- mutex_init(&pool->manager_mutex);
ida_init(&pool->worker_ida);
}
}
--
1.7.4.4


\
 
 \ /
  Last update: 2012-09-05 13:42    [W:0.271 / U:0.608 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site